我必须为巨大的有效负载计算哈希,所以我使用流而不是将所有请求内容加载到内存中。问题是这段代码有什么区别:
using (var md5 = MD5.Create())
using (var stream = await authenticatableRequest.request.Content.ReadAsStreamAsync())
{
return md5.ComputeHash(stream);
}
还有那个:
using (var md5 = MD5.Create())
using (var stream = new MemoryStream())
{
await authenticatableRequest.request.Content.CopyToAsync(stream);
stream.Position = 0;
return md5.ComputeHash(stream);
}
我在内部期望相同的行为,但也许我遗漏了一些东西。