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 : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
Partager