我正在测试一个接受XML的HttpHandler。当少量数据被发布时,它工作得很好,但是如果我发布的数据更大,那么大约29 of,我就会得到一个asp.net 404错误。
我是从同一个项目中的另一个处理程序向处理程序投递的,我已经尝试了两个方法-- 1. HttpWebRequest,带有"POST“2. WebClient和UploadFile()和UploadData()
当发布的数据高于28.6 MB时,我会得到相同的404错误。
我还尝试在接收处理程序和调试开始时设置一个断点。它永远不会被击中。看起来处理程序从来没有被调用过。对于较小规模的数据,工作正常。
我已经有了下面的设置。我做错什么了?
<httpRuntime maxRequestLength="1048576" />编辑:我还试着将文章发布到不同的处理程序,它不使用发布的数据,只是为了测试,但是结果是一样的。环境: Win 7,IIS7.5,.net 3.5,VS 2008 alt文本http://img401.imageshack.us/img401/4099/errormr.png
发布于 2010-04-23 06:37:56
我发现问题在于IIS 7和更高版本。它要求将最大请求长度设置在不同的位置。
请参阅以下链接-
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>这个配置清除了我所得到的错误。我希望报告的错误是描述性的,至少在本地机器上是这样。
这是否意味着IIS 6的设置就足够了?(活动服务器是win2003)
发布于 2010-04-23 06:11:18
尝试将此部分添加到web.config文件中:
<location path="YourHandler.aspx">
<system.web>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
</system.web>
</location>假设您的处理程序路径是YourHandler.aspx。
https://stackoverflow.com/questions/2696174
复制相似问题