Eu tenho uma situação em que estou fazendo uma async
chamada para um método que retorna e IDisposable
instância. Por exemplo:
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
Agora, antes de entrar em async
cena, ao trabalhar com uma IDisposable
instância, essa chamada e o código que usava a variável "resposta" seriam envolvidos em uma instrução using.
Minha pergunta é se essa ainda é a abordagem correta quando a async
palavra-chave é incluída no mix? Mesmo que o código seja compilado, a instrução using ainda funcionará conforme o esperado em ambos os exemplos abaixo?
Exemplo 1
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
// Do something with the response
return true;
}
Exemplo 2
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
await this.responseLogger.LogResponseAsync(response);
return true;
}