Ten en cuenta que en la informática un problema puede tener más de una resoluciones, por lo tanto nosotros te compartimos la mejor y más eficiente.
Solución:
private async void RequestData(string uri, Action action)
var client = new WebClient();
string data = await client.DownloadStringTaskAsync(uri);
action(data);
Consulte: http://msdn.microsoft.com/en-us/library/hh194294.aspx
¿Cómo puedo cambiar el método anterior, pero mantener la firma del método para evitar cambiar mucho más de mi código?
La mejor respuesta es “tú no”. Si utiliza async
luego utilícelo hasta el fondo.
private async Task RequestData(string uri)
using (var client = new HttpClient())
return await client.GetStringAsync(uri);
Siguiendo este ejemplo, primero crea la tarea asíncrona con, luego obtiene su resultado usando await
:
Task downloadStringTask = client.DownloadStringTaskAsync(new Uri(uri));
string result = await downloadStringTask;
Tienes la posibilidad difundir este ensayo si te valió la pena.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)