1

XML を受け入れる HttpHandler をテストしています。少量のデータが投稿された場​​合は問題なく動作しますが、約 29 MB を超えるデータを投稿すると、asp.net 404 エラーが発生します。

同じプロジェクト内の別のハンドラーからハンドラーに投稿していますが、2 つの方法を試しました。

投稿されたデータが28.6 MBを超えると、同じ 404 エラーが発生します。

また、受信ハンドラの先頭にブレークポイントを置いてデバッグしてみました。当たることはありません。ハンドラーが呼び出されなかったようです。小さいサイズのデータ​​でも問題なく動作します。

私はすでに次の設定をしています。私は何を間違っていますか?

<httpRuntime maxRequestLength="1048576" />

EDIT:テストのために、投稿されたデータを消費しない別のハンドラーに投稿しようとしましたが、結果は同じです。環境: Win 7、IIS 7.5、.net 3.5、VS 2008 代替テキスト http://img401.imageshack.us/img401/4099/errormr.png

4

2 に答える 2

3

問題はIIS7以降にあることがわかりました。最大リクエスト長を別の場所に設定する必要があります。

次のリンクを参照してください-

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>

この設定は、私が得ていたエラーをクリアしました。少なくともローカルマシンでは、報告されたエラーがより説明的であることを望みます

これは、IIS6では<httpRuntimemaxRequestLength = "1048576" />を設定するだけで十分であることを意味しますか?(ライブサーバーはwin2003です)

于 2010-04-23T06:37:56.060 に答える
2

web.configこのセクションをファイルに追加してみてください。

<location path="YourHandler.aspx">
    <system.web>
        <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
    </system.web>
</location>

ハンドラーパスが。であると仮定しますYourHandler.aspx

于 2010-04-23T06:11:18.400 に答える