我正在测试一个接受XML的httphandler。当发布少量数据时,它可以正常工作,但是如果我发布的数据大于29MB,则会收到ASP.NET 404错误。

我正在同一项目中的另一个处理程序中发布给处理程序,我尝试了2种方法-1。httpwebrequest带有“ post” 2. webclient with uploadfile()和uploaddata()和uploaddata()

上面发布的数据时,我会遇到相同的404错误 28.6 MB.

我还尝试在接收处理程序的开头和调试开始时放一个断点。它永远不会击中。看起来像处理程序从未被召唤过。适用于较小尺寸的数据。

我已经有以下设置。我究竟做错了什么?

<httpRuntime maxRequestLength="1048576" />

编辑:我还尝试将不会仅消耗张贴的数据的其他处理程序发布,但结果是相同的。环境:WIN 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