[ASP.NET] 長いクエリー文字列を受け取るには maxQueryString と maxQueryStringLength を設定する

DevelopmentASP.NET

IIS, ASP.NET で長いクエリー文字列を受け取るには、web.config に maxQueryString と maxQueryStringLength のふたつの設定が必要です。

開発している リツイート直後のツイートを表示するやつ では、URL に長いパラメーターが指定される場合があるのですが、エラーが発生するので調べると、maxQueryStringLength が足りていませんでした。

maxQueryString

IIS に関する設定で「要求の限度に基づくフィルター処理」として、クエリー文字列の長さの上限を requestLimits **maxQueryString ** 属性で指定します。指定していない場合、「HTTP Error 404.15 – Not Found」が発生します。


<system.webServer>
<security>
<requestFiltering>
<requestLimits maxQueryString="10000" />
</requestFiltering>
</security>
</system.webServer>

view raw

web.config

hosted with ❤ by GitHub

maxQueryStringLength

ASP.NET 4 以降に関する設定で、使用可能な URL 範囲の拡大 するためのオプションがあります。httpRuntime maxQueryStringLength 属性で指定します。


<httpRuntime maxQueryStringLength="10000" />

view raw

web.config

hosted with ❤ by GitHub

Internet Explorer の URL 文字数制限

Internet Explorer では URL に最大 2,083 文字が使用可能 です。長いクエリー文字列を受け取るには、IE 以外のブラウザーを使いましょう。

DevelopmentASP.NET

Posted by jz5