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