私はC#にMVC3サイトを持っています。JavaScript関数からクエリパラメータが供給されている特定のビューがあります。関数は、
window.location.href = "../ActionName?" + query_string;
query_stringは、JavaScript関数によって作成された動的クエリパラメータ文字列です。
この奇妙さの理由は、reportviewerコントロールを使用する必要があるため、同じ関数がURLをASP.Net Webフォームに渡す場合があるためです。代わりのアクションは、この場合、ビューに渡される一部のパラメーターを保存することです。(それが意味をなさない場合は、さらに詳しく説明できます)
アクションメソッドに[Authorize]を導入するまでは、すべてがうまくいきます。所定の位置にある場合は中断し、それがなくても正常に機能し、[Authorize]は他のすべての方法で正常に機能します。
この場合のURL全体は966文字です。調査後、maxQueryStringLengthの値はデフォルトで2048 であるように見えますが、整数型の任意の値にオーバーライドできるので、笑いのために
<security>
<requestFiltering>
<requestLimits maxQueryString="2048"></requestLimits>
</requestFiltering>
</security>
キーの下のWeb構成ファイルのキー。
そこには喜びがないので、私はとんでもないことになり、それを4096にしたが、それでも喜びはない。
URL全体が966文字であるため、authorize属性で真に1082〜3130文字を追加することはできません。そのため、実際にエラーが何であるか、または設定が有効にならない理由を判断するにはどうすればよいですか。
VS2010 Pro SP1