c# HttpWebRequest Multi tache
Bonjour a tous .
j'utilise httpwebrequest pour faire GET sur un lien alors je dois envoyer trois requettes en meme temps pour avoir la réponse le plus vite possbile .
je lance tache1 tache2 tache3 , la premiere tache qui me répond je dois arréter les autres taches .
comment je peux faire pour résoudre ce probleme .
Merci a tous .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
for(int i = 0; i < 3; i++)
{
Task.Run(() =>
{
AsyncGet("https://exemple.com/index.html");
});
}
/*
Fonction pour faire mon GET
*/
public Task<string> AsyncGet(string url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = true;
request.CookieContainer = container;
Task<WebResponse> task = Task.Factory.FromAsync(
request.BeginGetResponse,
asyncResult => request.EndGetResponse(asyncResult),
(object)null);
return task.ContinueWith(t => ReadStreamFromResponse(t.Result));
}
private string ReadStreamFromResponse(WebResponse response)
{
using (Stream responseStream = response.GetResponseStream())
using (StreamReader sr = new StreamReader(responseStream))
{
string strContent = sr.ReadToEnd();
return strContent;
}
} |