【发布时间】:2011-09-19 21:03:19
【问题描述】:
我想发送多个WebRequest。我使用Parallel.For 循环来执行此操作,但循环运行一次,第二次在获得响应时出错。
错误:
操作已超时
代码:
Parallel.For(0, 10, delegate(int i) {
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
new Uri("http://www.mysite.com/service"));
string dataToSend = "Data";
byte[] buffer = System.Text.Encoding.GetEncoding(1252).
GetBytes(dataToSend);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = buffer.Length;
request.Host = "www.mysite.com";
Stream requestStream = request.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
});
【问题讨论】:
-
它给你一个错误信息?真的吗?您有什么特别想问的问题吗?
-
什么异常,发生在哪里?您确定服务器实际上没有超时吗?
标签: c# httpwebrequest task-parallel-library