Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SocketException阻止在Windows服务中使用C TCPListener_C#_Exception_Sockets_Permissions_Tcplistener - Fatal编程技术网

C# SocketException阻止在Windows服务中使用C TCPListener

C# SocketException阻止在Windows服务中使用C TCPListener,c#,exception,sockets,permissions,tcplistener,C#,Exception,Sockets,Permissions,Tcplistener,我有一个Windows服务,它在启动时执行以下操作。当通过控制台应用程序运行时,它可以正常工作,但一旦我加入Windows服务,就会出现以下异常。以下是我迄今为止所尝试的: 已禁用防火墙,还尝试添加exe、端口和协议的明确排除 选中CAS策略配置,显示不受限制的权限 将服务配置为以管理员帐户、本地系统、本地服务和网络服务的形式运行,每个服务都具有相同的结果 尝试了不同的端口 也尝试了127.0.0.1只是为了看看。。。同一问题 这会伤到我的头,因此任何帮助都将不胜感激: 守则: var _lis

我有一个Windows服务,它在启动时执行以下操作。当通过控制台应用程序运行时,它可以正常工作,但一旦我加入Windows服务,就会出现以下异常。以下是我迄今为止所尝试的:

已禁用防火墙,还尝试添加exe、端口和协议的明确排除 选中CAS策略配置,显示不受限制的权限 将服务配置为以管理员帐户、本地系统、本地服务和网络服务的形式运行,每个服务都具有相同的结果 尝试了不同的端口 也尝试了127.0.0.1只是为了看看。。。同一问题 这会伤到我的头,因此任何帮助都将不胜感激:

守则:

var _listener = new TcpListener(endpoint); //192.168.2.2:20000
_listener.Start();
由此产生的例外情况是:

Service cannot be started. System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.TcpListener.Start(Int32 backlog)
   at System.Net.Sockets.TcpListener.Start()
   at Server.RequestHandler.StartServicingRequests(IPEndPoint endpoint)
   at Server.Server.StartServer(String[] args)
   at Server.Server.OnStart(String[] args)
   at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

我建议您绑定到具有IPAddress的端点。任何0.0.0.0和特定端口


该错误消息可能是因为另一个应用程序已打开该端口或最近已打开该端口。

有关错误代码的详细信息如下。

能否向我们展示用于配置端点的代码?此处有更多信息,但我不确定它是否有助于您确定,终结点是使用新的IPEndPointIPAddress.Parseargs[0],Convert.ToInt32args[1]设置的。这些参数通过服务控制面板传入,我已确认本地计算机IP地址设置为192.168.2.2,端口设置为20000,尽管我也尝试了其他端口。您运行的是什么操作系统?哪个版本的.NET framework?另外,您能否确保没有内核模式或用户模式进程绑定到该端口netstat-n-a-ptcp?IPAddress.Any实际上是0.0.0.0您当然是正确的!我不知道为什么我把广播值,而不是任何值。。。