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>

questionAnswers(4)

yourAnswerToTheQuestion