在这种情况下使用
using
模式有意义吗?或者await
会自动处置该资源吗?
var payload = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
始终将流包装在
using() { ... }
或 try/finally
块中是有意义的,是的。
await
唯一做的就是将调用线程返回到主工作池并“等待”您调用的异步任务完成。
您正在使用await关键字通过StreamReader异步读取HttpContext.Request.Body的内容。这是在 C# 中处理异步 I/O 操作时的常见做法。您不需要添加 using 语句来显式处置 StreamReader。 wait 关键字将确保异步操作完成时完成必要的清理。