一句话总结
一般情况下,HttpContext.Request.Body
流对象不允许被重复读取,这是因为该流对象的 Position
是不允许进行修改操作的,一旦操作会直接抛出异常。
若希望重复读取该流对象,微软引入了 HttpContext.Request
的扩展方法 EnableBuffering()
,调用这个方法后,我们可以通过重置流对象的读取位置,来实现对 HttpContext.Request.Body
的重复读取。
注意:EnableBuffering()
方法每次请求设置一次即可,即在准备读取 HttpContext.Request.Body
之前设置。