Zastanawiam się, czy istnieje prosty sposób uzyskania odpowiedzi asynchronicznego httpwebrequest.Uzyskiwanie odpowiedzi asynchronicznego HttpWebRequest
Widziałem już to pytanie here, ale ja je wszystkie próbuję zrobić, to zwrócić odpowiedź (która jest zwykle json lub xml) w postaci ciągu do innej metody, gdzie mogę go następnie analizować/radzić sobie z nim odpowiednio.
Herezje niektóre kod:
mam te dwie metody statyczne tutaj co moim zdaniem jest wątek bezpieczne, jak wszystkie params przechodzą i nie istnieją żadne wspólne zmienne lokalne, że metody używają?
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;
}
}
Kod zostanie zaksięgowana działało dobrze raz usunąłem obcych manualResetEvent.Zestaw(); - Jaki masz problem? –
@JamesManning Cześć, to był literówka, szukam łatwiejszego sposobu na uzyskanie wyniku. To, co podałeś (zadanie) jest dokładnie wzdłuż linii. Właśnie wykonałem skok z synchronicznych żądań, wygląda na to, że jest dużo więcej. Dzięki –
gdp