C#WebClient超时

时间:2016-11-15 00:13:35

标签: c# timeout webclient

我有一个WebClient,当我按下按钮时发送POST请求。这些POST是通过内部和身份验证完成的。以下是应用程序启动时声明的webclient:

WebClient wc = new WebClient();
wc.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password")));
wc.Encoding = Encoding.UTF8;

这是按钮代码(模拟现场按下按钮,所有数据和标题都在Firefox上用FireBug跟踪):

wc.UploadValues("address here", new NameValueCollection()
{
  { "param1", "value1" },
  { "param2", "value2" },
  { "param3", "value3" },
  { "param4", "value4" },
  { "param5", "value5" }
 });
wc.Dispose();

问题是它可以工作3-4次并最终开始计时。即使我正在捕获WebExceptionStatus.Timeout并执行循环,它应该在t / o之后发送另一个POST,但它会尝试这样做并再次超时(循环超过100次)。它发生在我重新启动应用程序之前。我尝试将其添加到App.config:

<connectionManagement>
<add address="*" maxconnection="65535" />
</connectionManagement>

但它不起作用。我试图分别为每个POST操作启动一个新的WebClient,但它超时了。为什么会发生,我该如何解决?现在我刚刚完成POST操作后自动重启应用程序,但绝对不是一个修复。

0 个答案:

没有答案