async
반환 및 IDisposable
인스턴스 메서드를 호출 하는 상황이 있습니다. 예를 들면 :
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
이전 async
에 IDisposable
인스턴스 작업을 할 때 "response"변수를 사용하는이 호출과 코드는 using 문으로 래핑됩니다.
내 질문은 async
키워드가 믹스에 던져 질 때 여전히 올바른 접근 방식인지 여부입니다 . 코드가 컴파일 되더라도 using 문은 아래 두 예제에서 모두 예상대로 작동합니까?
예 1
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
// Do something with the response
return true;
}
예 2
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
await this.responseLogger.LogResponseAsync(response);
return true;
}