質問

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top