Je suis dans une situation où je fais un async
appel à une méthode qui renvoie et IDisposable
instance. Par exemple :
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
Maintenant, avant async
était sur place, en travaillant avec un IDisposable
Par exemple, cet appel et le code qui utilise la variable "response" seraient enveloppés dans une instruction using.
Ma question est de savoir si c'est toujours l'approche correcte quand la async
le mot-clé est jeté dans le mélange ? Même si le code se compile, l'instruction using fonctionnera-t-elle 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;
}