私は以下のメソッドを持っていますが、このメソッドを複数同時に呼び出したいと思います。結果文字列のいずれかに「開始」テキストが含まれているかどうかをチェックし、次にコントロールを転送します。そうでなければ、結果文字列で「開始」を待ちます。ウィンドウフォームアプリケーションで非同期メソッドを複数回呼び出す
public async Task<string> ProcessURLAsync(string url, ExtendedWebClient oExtendedWebClient, string sParam)
{
ExtendedWebClient oClient = new ExtendedWebClient(false);
oClient.CookieContainer = oExtendedWebClient.CookieContainer;
oClient.LastPage = "https://www.example.co.in/test/getajax.jsf";
byte[] PostData = System.Text.Encoding.ASCII.GetBytes(sParam);
Headers.Add("User-Agent", "Mozilla/5.0 (Windows T 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36");
Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
Headers.Add("Content-Type", "application/x-www-form-urlencoded");
oClient.Headers.Remove("X-Requested-With");
oClient.Headers.Add("X-Requested-With", "XMLHttpRequest");
var byteArray = await oClient.UploadDataTaskAsync(url, PostData);
string result = System.Text.Encoding.UTF8.GetString(byteArray);
return result;
}
これを実現する方法をご提案ください。
私はTask.WaitAllを使用。できます。すべてのタスクが終了するのを待ちます。いずれかが終了して文字列「開始」が含まれている場合は、それから前方に移動します。それ以外の場合は、完了するまで待ってください。 – Karan