WCF - 套接字连接已中止

时间:2011-02-22 15:56:52

标签: c# .net wcf exception networking

当我在具有TCP绑定的远程主机上运行WCF服务时,我得到以下异常。然而,basichttpbinding工作。

此外,当我将它托管在同一台机器上时,它也能正常工作。

同样使用测试客户端和远程机器的连接,TCP也可以。

为什么你认为我得到以下异常?有什么问题?

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at IService1.GetSectionEntity(String id)
   at Service1Client.GetSectionEntity(String id) in C:\src\Service1.cs:line 2318
   at GetSectionSync(Id sectionId, Boolean loadFromDbIfNotInCache) 
2011-02-22 10:41:13,888|WARN | HttpHandler|The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:29.9870000'.
2011-02-22 10:41:13,891|ERROR|HttpHandler|The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:29.9870000'.
System.ServiceModel.CommunicationException: The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:29.9870000'. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)
   --- End of inner exception stack trace ---

1 个答案:

答案 0 :(得分:2)

如有疑问,请启用WCF诊断:http://msdn.microsoft.com/en-us/library/ms733025.aspx