2

巨大なペイロードのハッシュを計算する必要があるため、ストリームを使用してすべての要求コンテンツをメモリにロードしないようにしています。問題は、このコードの違いは何ですか:

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);
}

内部的には同じ動作を期待していますが、何か不足している可能性があります。

4

3 に答える 3