请求在使用 [Authorize] 时超过配置的 maxQueryStringLength
我在C#中有一个MVC3站点,我有一个特定的视图,从JavaScript函数提供查询参数,该函数通过以下方式重定向到站点
window.location.href = “../ActionName?“ + query_string;
query_string是由 JavaScript 函数构建的动态查询参数字符串。
这种奇怪的原因是,有时相同的函数将URL传递给 ASP.Net Webform,因为它必须使用porterviewer控件,在这种情况下,备用操作是保存一些参数,在这种情况下,它会传递给视图。(如果这没有意义,可以详细说明)
在我向操作方法引入[授权]之前,整个过程都很好。如果它已就位,则中断,在没有工作正常的情况下,并且[Authorize]在所有其他方法上工作正常。
在这种情况下,整个URL的长度为966个字符,经过研究,默认情况下,maxQueryStringLength值似乎是2048,但可以覆盖为整数类型的任何值,因此只是为了咧嘴笑,我添加了
<security>
<requestFiltering>
<requestLimits maxQueryString="2048"></requestLimits>
</requestFiltering>
</security>
密钥下 Web 配置文件的密钥。
那里没有快乐,所以我变得荒谬,把它变成了4096,仍然没有快乐。
现在,由于整个URL的长度为966个字符,因此authorate不能严重地添加另外1082-3130个字符,因此我如何确定错误实际上是什么,或者为什么设置没有生效。
VS2010 专业版 SP1