Ich habe eine Situation, in der ich async
eine Methode aufrufe, die eine IDisposable
Instanz zurückgibt . Beispielsweise:
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
Nun , bevor async
auf der Bühne war, wenn sie mit einem IDisposable
Arbeitsweise dieser Anruf und Code, der die „Antwort“ Variable verwendet wird, würde in einer using - Anweisung gewickelt werden.
Meine Frage ist, ob dies immer noch der richtige Ansatz ist, wenn das async
Schlüsselwort in die Mischung geworfen wird. Funktioniert die using-Anweisung auch in beiden folgenden Beispielen wie erwartet, obwohl der Code kompiliert wird?
Beispiel 1
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
// Do something with the response
return true;
}
Beispiel 2
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
await this.responseLogger.LogResponseAsync(response);
return true;
}