下面的这个例子我在寻找另一个静止的时候找到了。
在那里,那个人在finally块中处理response
。
真的有必要吗?这是GC在这种情况下的工作吗?
public static async Task EnsureSuccessStatusCodeAsync(this HttpResponseMessage response)
{
try
{
if (response.IsSuccessStatusCode)
return;
var content = await response.Content.ReadAsStringAsync();
throw new SimpleHttpResponseException(response.StatusCode, content);
}
finally
{
response.Content?.Dispose();
}
}
答案 0 :(得分:2)
使用IDisposable
的整个点是清理GC 无法清理的非托管资源拥有。所以不,你不能让GC清理它,因为根据定义它不能。