Uzyskanie odpowiedzi asynchronicznego HttpWebRequest
Zastanawiam się, czy w prosty sposób można uzyskać odpowiedź asynchronicznego httpwebrequest.
Widziałem już to pytanietutaj ale wszystko, co próbuję zrobić, to zwrócić odpowiedź (która zwykle jest jsonem lub xmlem) w postaci ciągu znaków do innej metody, w której mogę ją następnie przeanalizować / odpowiednio z nią postępować.
Oto jakiś kod:
Mam tutaj te dwie metody statyczne, które moim zdaniem są bezpieczne dla wątków, ponieważ wszystkie parametry są przekazywane i nie ma wspólnych zmiennych lokalnych, których używają metody?
<code>public static void MakeAsyncRequest(string url, string contentType) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = contentType; request.Method = WebRequestMethods.Http.Get; request.Timeout = 20000; request.Proxy = null; request.BeginGetResponse(new AsyncCallback(ReadCallback), request); } private static void ReadCallback(IAsyncResult asyncResult) { HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState; try { using (HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult)) { Stream responseStream = response.GetResponseStream(); using (StreamReader sr = new StreamReader(responseStream)) { //Need to return this response string strContent = sr.ReadToEnd(); } } manualResetEvent.Set(); } catch (Exception ex) { throw ex; } } </code>