【发布时间】:2018-06-29 20:51:00
【问题描述】:
我将一些 POST 数据发送到以下代码每 5 秒运行一次的 url。代码运行时,第一次发送数据时,没有报错。但是第二次,它在我的client.UploadValues 行中抛出了一个异常。
这是错误:
在 System.dll 中发生了
System.Net.WebException类型的未处理异常 附加信息:基础连接已关闭:连接意外关闭。
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["email"] = email;
values["mac_addr"] = mac_addr;
values["system_name"] = system_name;
values["os_version"] = os_version;
values["screenshot"] = screenshot;
values["current_application"] = current_application;
var query = client.UploadValues(@"http://some.website.com/api/testing", values);
var responseString = Encoding.Default.GetString(query);
}
我不明白,如果我使用using,那么在第一次调用之后它应该处理所有内容,对吗?那为什么会这样呢?
【问题讨论】:
-
你可能会在服务器端做一些进一步的调试,看看为什么它会在你第二次上传时关闭连接。
-
@LexLi 我无法控制服务器,因为我的雇主没有为此提供凭据。关于这个问题,我仍然给他发了信息。对我来说,它在本地主机上运行良好。
-
可能是服务器超时,通过关闭连接来实现。失败的请求需要多长时间?
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。见:minimal reproducible example
-
@Enigmativity 好吧,下次我会尝试更清楚:)