Ich habe eine Situation, in der ich asynceine Methode aufrufe, die eine IDisposableInstanz zurückgibt . Beispielsweise:
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
Nun , bevor asyncauf der Bühne war, wenn sie mit einem IDisposableArbeitsweise 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 asyncSchlü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;
}