System.Net.WebException:基础连接已关闭:连接意外关闭

Kwa*_*009 9 c# asp.net

我正在编写一个.NET应用程序,它应该将数据发布到另一个.NET应用程序.我使用以下代码来请求登录页面

WebProxy proxy = new WebProxy("http://proxy:80/", true);
HttpWebRequest webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
//proxy.Credentials = new NetworkCredential("myusername", "mypassword", "domain"); 
// webRequest.Proxy = proxy;
webRequest.Proxy = WebRequest.DefaultWebProxy;

StreamReader responseReader = new StreamReader
                                  (webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)

但它在这条线上失败了

StreamReader responseReader = new StreamReader
                                  (webRequest.GetResponse().GetResponseStream());
Run Code Online (Sandbox Code Playgroud)

带有错误消息:

System.Net.WebException: The underlying connection was closed: The connection was 
                         closed unexpectedly.
Run Code Online (Sandbox Code Playgroud)

小智 6

如果您使用的是.NET 2.0或更高版本,则可以启用网络跟踪并查看通过网络实际发生的情况.通过这种方式,您可以获得有关此特定异常的更多信息.

有关详细信息,请参阅以下链接, http://msdn.microsoft.com/en-us/library/hyb3xww8%28VS.80%29.aspx


Iva*_*čin 6

就我而言,这解决了这个问题:

                System.Net.ServicePointManager.Expect100Continue = false;
Run Code Online (Sandbox Code Playgroud)

以上都不是.


Rik*_*Rik 4

不久前我遇到了同样的异常,我记得在某些情况下发生这种情况是由于 .NET 中的错误。您可以通过将请求的 Timeout 和 ReadWriteTimeout 设置为更高的值或将 KeepAlive 设置为 false 来解决此问题。

不过,这只是一种解决方法,因此我建议您在做出任何假设之前尝试找到实际的根本原因。

我将尝试提出一些网络参考,同时查看 大文件上传(WebException:连接意外关闭)