为什么我在Web请求中得到“连接意外关闭” - 错误?

问题描述 投票:1回答:1

我希望使用以下代码将简单的json发布到服务器:

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://ipaddress:1237");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
    string json = "{'params': {'auth_remoteaddr': '10.10.5.103', 'auth_type': 'ANONYMOUS', 'auth_name': 'ANONYMOUS', 'auth_pass': 'ANONYMOUS', 'login_auth_name': 'crm', 'login_auth_pass': 'crm1234', 'create_session': true, 'login_auth_type': 'ADMIN'}, 'method': 'login.login'}";
    streamWriter.Write(json);
    streamWriter.Flush();
    streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
    var result = streamReader.ReadToEnd();
}

但是当运行该代码时,得到以下错误:

附加信息:基础连接已关闭:连接意外关闭。

但是在过去服务成功没有问题,发生了什么?我该如何解决这个问题?

c#
1个回答
0
投票

当服务器或其他网络设备意外关闭现有传输控制协议(TCP)连接时,会发生此问题。当服务器或网络设备上的超时值设置得太低时,可能会出现此问题。要解决此问题,请参阅分辨率A,D,E,F和O.如果服务器意外重置连接,例如未处理的异常导致服务器进程崩溃,也会出现此问题。分析服务器日志以查看是否存在此问题。

若要解决此问题,请确保您使用的是最新版本的.NET Framework。

© www.soinside.com 2019 - 2024. All rights reserved.