J'ai une situation où je fais un async
appel à une méthode qui retourne et IDisposable
instance. Par exemple:
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
Maintenant, avant async
était sur la scène, lorsque vous travaillez avec une IDisposable
instance, cet appel et le code qui utilisait la variable "response" seraient enveloppés dans une instruction using.
Ma question est de savoir si c'est toujours la bonne approche lorsque le async
mot-clé est jeté dans le mélange? Même si le code se compile, l'instruction using fonctionnera-t-elle toujours comme prévu dans les deux exemples ci-dessous?
Exemple 1
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
// Do something with the response
return true;
}
Exemple 2
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
await this.responseLogger.LogResponseAsync(response);
return true;
}