我想测试我的几个网络服务。如何并行发送 httpWebRequests?
问问题
1239 次
2 回答
3
您是否尝试使用 Task Parallel 库。您可以在此处找到更多信息。
例如,您可以调用 Invoke 方法来并行执行几个委托:
Parallel.Invoke(() => DoSomeWork(), () => DoSomeOtherWork());
于 2012-10-21T09:43:34.137 回答
3
试试这个:
new List<string>
{
"http://www.stackoverflow.com",
"http://www.google.com"
}
.AsParallel().ForAll(x =>
{
var client = new WebClient();
client.DownloadStringAsync(new Uri(x));
client.DownloadStringCompleted +=
(o, e) =>
{
var result = e.Result; // html will be here
Console.WriteLine("Completed");
};
});
或这个:
Parallel.ForEach(new List<string>
{
"http://www.stackoverflow.com",
"http://www.google.com"
}, x =>
{
var client = new WebClient();
client.DownloadStringAsync(new Uri(x));
client.DownloadStringCompleted +=
(o, e) =>
{
var result = e.Result; // html will be here
Console.WriteLine("Completed");
};
}
有关更多信息,请阅读并行编程
于 2012-10-21T10:15:08.223 回答