Given the following sample code:
var count = 0;
while (count < 5)
{
using (var request = new HttpRequestMessage(HttpMethod.Get, requestUri))
using (var response = await StaticHttpClient.Client.SendAsync(request))
{
if (!response.IsSuccessStatusCode)
{
switch ((int)response.StatusCode)
{
case 500:
case 504:
continue;
}
}
else
{ ... }
}
count++;
}
Will those IDisposable objects leak memory in this method or will the Dispose method be properly called? (There are many cases missing from the switch and I'm not concerned about the efficiency there).