〜29MBを超えるhttphandlerにデータをhttphandlerに投稿すると、404エラーが発生します
-
01-10-2019 - |
質問
XMLを受け入れるHttphandlerをテストしています。少量のデータが投稿されている場合は正常に動作しますが、データを大きく投稿すると、約29MBよりも投稿すると、ASP.NET 404エラーが表示されます。
同じプロジェクトの別のハンドラーからハンドラーに投稿しています。2つの方法を試しました-1。httpwebrequest with "post" 2. webclient uploadfile()とuploaddata()
投稿されたデータが上にある場合、同じ404エラーが発生します 28.6 MB.
また、受信ハンドラーとデバッグの最初にブレークポイントを正しく配置してみました。それは決してヒットしません。ハンドラーが呼ばれなかったように見えます。小規模なデータでは問題なく動作します。
私はすでに次の設定を持っています。私は何が間違っているのですか?
<httpRuntime maxRequestLength="1048576" />
編集:テストするためだけに投稿されたデータを消費しない別のハンドラーに投稿してみましたが、結果は同じです。環境:7、IIS 7.5、.NET 3.5、vs 2008Alt Text http://img401.imageshack.us/img401/4099/errormr.png
解決
問題はIIS 7以降にあることを発見しました。最大要求の長さを別の場所に設定する必要があります。
次のリンクを参照してください -
http://www.experts-exchange.com/programming/languages/.net/asp.net/q_22943810.html
http://msdn.microsoft.com/en-us/library/ms689462%28vs.90%29.aspx
デフォルト値は30000000です。これは28.6MBです。 web.configで設定する正しい方法は -
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824"></requestLimits>
</requestFiltering>
</security>
</system.webServer>
この構成により、私が取得していたエラーがクリアされました。少なくともローカルマシンでは、報告されたエラーがより説明的であったことを願っています
これはその設定を意味しますかu003ChttpRuntime maxRequestLength="1048576" />IIS 6には十分ですか? (ライブサーバーはWin2003です)
他のヒント
このセクションをに追加してみてください web.config
ファイル:
<location path="YourHandler.aspx">
<system.web>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
</system.web>
</location>
ハンドラーパスがそうであると仮定します YourHandler.aspx
.