2016-03-06 3 views

risposta

9

è possibile effettuare qualsiasi operazione di blocco da solo prendendo il .Result:

string response = client.GetStringAsync(...).Result; 

Tuttavia, se questo è in esecuzione su un thread dell'interfaccia utente non si deve fare questo. Il blocco sul thread dell'interfaccia utente non è bello. Abbraccia l'asincronia.

+1

grazie ... l'ho abbracciato con tutto il mio cuore ... volevo solo sapere per scopi di test/apprendimento ... –

+0

Una cosa su cui riflettere prima di fare questo: questo cambia completamente la gestione degli errori. Invece di WebException riceverai solo AggregateExceptions in base alla progettazione. E sembra esserci qualche bug in httpClient che crea una TaskCanceledException generica in caso di un timeout. – Andreas

1

RestSharp è una buona fonte alternativa aperta a HttpClient. Supporta entrambe le richieste di sincronizzazione e asincrono.

http://restsharp.org/

Problemi correlati