我的套接字连接出现问题。我在 Project 中有一个 Web 服务,它连接到安装在同一台服务器中的服务。该服务正在崩溃,它已被我们项目中的另一个监控应用程序成功重新启动。但是,当 web 方法尝试访问服务中的方法时,我得到了 web 异常。但是当我们手动重新启动服务时,它工作正常。这是我得到的网络异常和使用的代码。
代码使用
string url = "http://localhost:56789/" + SERVICE_NAME;
m_target = Activator.GetObject(typeof(IWebServiceInterface), url) as IWebServiceInterface;
if (IPAddress.TryParse(ipAddress, out ip))
{
status = m_target.Connect(Session.SessionID, username, stationId, ip);
}
网络异常
在 [0] 处重新引发异常:在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 类型) 在 TerminalInterface.IWebServiceInterface 的 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)。连接(字符串 sessionId,字符串用户名,Int32 stationId,IPAddress ipAddress)在 myWebProject.WebServices.Terminal.Service.Connect(字符串用户名,Int32 stationId,字符串 ipAddress)18:42:28.953 ProLog:System.Net.WebException:无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 无法建立连接,因为目标机器在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) 处主动拒绝了 127.0.0.1:56789在 System.Net.Sockets.Socket。在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败,套接字 s4,套接字 s6,套接字和套接字,IPAddress 和地址,ConnectSocketState 状态,IAsyncResult asyncResult,Int32 超时,异常和异常)的内部连接(端点 remoteEP)--- 内部异常堆栈跟踪结束---
服务器堆栈跟踪:System.Net.HttpWebRequest.GetRequestStream() at System.Runtime.Remoting.Channels.Http.HttpClientTransportSink.ProcessAndSend(IMessage msg, ITransportHeaders headers, Stream inputStream) at System.Runtime.Remoting.Channels.Http.HttpClientTransportSink System.Runtime.Remoting.Channels.SoapClientFormatterSink.SyncProcessMessage(IMessage 消息)处的 .ProcessMessage(IMessage 消息,ITransportHeaders requestHeaders,流 requestStream,ITransportHeaders& responseHeaders,Stream& responseStream)