巨大なペイロードのハッシュを計算する必要があるため、ストリームを使用してすべての要求コンテンツをメモリにロードしないようにしています。問題は、このコードの違いは何ですか:
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);
}
内部的には同じ動作を期待していますが、何か不足している可能性があります。