System.Net.Sockets.SocketException灾难

时间:2014-01-22 22:49:02

标签: c# .net asp.net-mvc sockets asp.net-web-api

在我们与业务层断开连接并通过MVC web api进行通信的winforms客户端应用程序中,我们遇到了一个令人讨厌的错误。那里有专家可以解释一下!

这一切意味着什么?

---> (内部异常#0)System.Net.Http.Httprequestexception:发送请求时发生错误。
---> System.Net.Webexception:底层连接已关闭:接收时发生意外错误。
---> System.Io.Ioexception:无法从传输连接读取数据:远程主机强制关闭现有连接。
---> System.Net.Sockets.Socketexception:远程主机强行关闭现有连接
   在System.Net.Sockets.Socket.Endreceive(Iasyncresult Asyncresult)
   在System.Net.Sockets.Networkstream.Endread(Iasyncresult Asyncresult)
   ---内部异常结束栈跟踪---
   在System.Net.Sockets.Networkstream.Endread(Iasyncresult Asyncresult)
   在System.Net.Pooledstream.Endread(Iasyncresult Asyncresult)
   在System.Net.Connection.Readcallback(Iasyncresult Asyncresult)
   ---内部异常结束栈跟踪---
   在System.Net.Httpwebrequest.Endgetresponse(Iasyncresult Asyncresult)
   在System.Net.Http.Httpclienthandler.Getresponsecallback(Iasyncresult Ar)
   ---内部异常结束栈跟踪---
< ---

1 个答案:

答案 0 :(得分:1)

嗯,总的来说,这个例外非常令人烦恼。但你有什么期望?您正在使用网络。它躺下来经常起床。这种行为有两个主要原因:

  1. 执行代码的网络质量。
  2. 程序员在实施自己的通信协议时所犯的错误。
  3. 如果没有这两个原因,那么你应该使用超时来实现自动连接。此外,TCP协议实现内部将非常有用!