环境:VS2012,IIS7
利用web uploader实现了一个文件上传的功能,但是遇到上传大小的限制,在web.config的<system.web>节点下添加如下代码:
<httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="60000" />
结果依然不行(如果是VS2010这样就可以了)。后来想到VS2012默认是应用的IIS,而不是自带的虚拟服务器。就在网上搜解决IIS上传文件大小限制的解决方案,有修改IIS_schema.xml的,也有修改applicationHost.config的,还有设置IIS请求筛选的,但是都不管用。最后找到一种方法在项目web.config的<configuration>节点下边添加如下代码:
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483647" /> </requestFiltering> </security> </system.webServer>
问题解决。但必须配合上边代码一块,缺一不可。实在搞不懂原因,上边代码应该是对IIS6,下边应该是IIS7,但两个放一块才行(为什么我遇到的问题总是如此奇葩)。
不过即使这样当我把项目放到IIS下还是会上传失败,请求ashx时返回500错误,在网上找了很多方法也没解决。路过的大神还请指点一下。