1

いくつかの Web サービスをテストしたいと考えています。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 に答える