1

我想测试我的几个网络服务。如何并行发送 httpWebRequests?

4

2 回答 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 回答