我有一个模块,这是一个中间件owa和它必须添加到IIS。它是工作正常。但在某些情况下(后请求)我得到这个错误:
This method or property is not supported after HttpRequest.Form, Files, InputStream, or BinaryRead has been invoked.
这是我的代码:
var context = HttpContext.Current;
var state = context.Request.Form["state"]; // error
我认为这个错误发生时,我的代码不应该读'httprequest.form'。
我的问题是:
是任何方式,我可以知道httprequest.form不应该被读取。(像一个标志或...)
1条答案
按热度按时间ccgok5k51#
当您尝试在读取HttpRequest.Form属性后访问该属性时,会出现您遇到的错误信息。这是因为HttpRequest.Form属性是一次性只读集合,一旦访问它,数据就会被使用。
检查HttpRequest.Form属性是否已被读取的一种方法是检查HttpRequest.HasForm属性,该属性返回一个布尔值,指示窗体集合是否已被访问。
下面是一个例子:
通过检查HasForm属性,可以避免访问已使用的Form属性。