Textarea要素の値からファイルクライアント側を作成したいサイトを構築しています。
これを行うためのコードが用意されていますが、このエラーが発生しています
HTTPエラー404.15-見つかりません要求フィルタリングモジュールは、クエリ文字列が長すぎる要求を拒否するように構成されています。
任意のサイズのリクエストを処理できるように、これをオーバーライドする方法はありますか?
そうでない場合、filesystem/active xオブジェクトを使用せずにクライアント側でファイルを生成する方法はありますか?
ありがとう
Web.configに次を追加します。
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxQueryString="32768"/>
</requestFiltering>
</security>
</system.webServer>
見る:
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits
コメントを反映するために更新されました。
requestFiltering [IIS Settings Schema]のrequestLimits要素
Web.configにも以下を追加する必要があります。
<system.web>
<httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
</system.web>
参照: httpRuntime要素(ASP.NET設定スキーマ)
もちろん、上記の構成設定の数値(32768および65536)は単なる例です。これらの正確な値を使用する必要はありません。
私の場合(Visual Studio 2012/IIS Express/ASP.NET MVC 4 app/.Net Framework 4.5)、試行錯誤の30分後に実際に機能したのは、<httpRuntime>
タグのmaxQueryStringLength
プロパティの設定でした。
<httpRuntime targetFramework="4.5" maxQueryStringLength="10240" enable="true" />
maxQueryStringLength
のデフォルトは2048
です。
詳細はこちら:
@ MattVarblow が示唆するように<system.webServer>
で設定しようとしましたが、うまくいきませんでした...これは、IIS Express(IIS 8)Windows 8を搭載した開発マシン。
アプリを実稼働環境(IIS 7を使用するWindows Server 2008 R2)にデプロイすると、IE 10は長いクエリ文字列を含むAJAXリクエストで404エラーを返し始めました。 。次に、問題がクエリ文字列に関連していると思い、@ MattVarblowの答えを試しました。 IIS 7で機能しました。:)
確認すべきこと:サイトでMVCを使用している場合、ログインコントローラークラスに[Authorize]を追加すると、これが発生する可能性があります。ログインメソッドにアクセスできないため、ログインメソッドにリダイレクトされます-> boom。
ASP WebアプリケーションをIIS 8.にデプロイしようとすると、同様の問題が発生しました。それを修正するために、MattとLenielが上で提案したようにしました。しかし、匿名認証を有効にするには、サイトの認証設定も構成する必要がありました。そしてそれは私のために働いた。
ユーザーがまだ認証されていないため、ログインページのActionResult関数に[AllowAnonymous]を追加する必要がありました。
Webサイトが認証を使用しているが、IISに正しい認証方法が設定されていない場合(たとえば、Basic、Formsなど)、ブラウザはリダイレクトループでスタックします。これにより、リダイレクトURLは爆発するまでますます長くなります。