ソケット接続に問題があります。プロジェクトに Web サービスがあり、同じサーバーにインストールされているサービスに接続します。サービスがクラッシュし、プロジェクト内の別の監視アプリケーションによって正常に再起動されました。しかし、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.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) で System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 タイプ) で TerminalInterface.IWebServiceInterface. Connect (String sessionId, String username, Int32 stationId, IPAddress ipAddress) myWebProject.WebServices.Terminal.Service.Connect (String username, Int32 stationId, String ipAddress) 18:42:28.953 ProLog: System.Net.WebException: Unable to connectリモートサーバーへ ---> System.Net.Sockets.SocketException: System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) で 127.0.0.1:56789 をターゲット マシンがアクティブに拒否したため、接続できませんSystem.Net.Sockets.Socket で。InternalConnect(EndPoint remoteEP) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- 内部例外スタック トレースの終了---
サーバー スタック トレース: System.Net.HttpWebRequest.GetRequestStream() で System.Runtime.Remoting.Channels.Http.HttpClientTransportSink.ProcessAndSend(IMessage msg, ITransportHeaders headers, Stream inputStream) で System.Runtime.Remoting.Channels.Http.HttpClientTransportSink .ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) System.Runtime.Remoting.Channels.SoapClientFormatterSink.SyncProcessMessage(IMessage msg) で