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