微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – .Net 4.5.1框架的maxRequestLength

我想将.Net framework 4.0代码转换为.Net framework 4.5.这基本上是与文件上传相关的代码.现在我面临一些问题. maxRequestLength的最大值是多少?
我已经在我的web.config文件添加了这一行,但它不起作用,错误代码是0x800700b7
<system.web>
<httpRuntime maxRequestLength="102400" executionTimeout ="3600" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5"/>
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880"/>
</authentication>
<pages>
  <namespaces>
    <add namespace="System.Web.Helpers"/>
    <add namespace="System.Web.Mvc"/>
    <add namespace="System.Web.Mvc.Ajax"/>
    <add namespace="System.Web.Mvc.Html"/>
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing"/>
    <add namespace="System.Web.WebPages"/>
  </namespaces>
  </pages>
  <compilation debug="true"/>
  </system.web>
  <system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>

   <security>  
  <requestfiltering>  
     <requestLimits maxAllowedContentLength="104857600" />  
  </requestfiltering>  
  </security> 

<handlers>
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." />
</handlers>

解决方法

如果您在IIS中托管,则需要两个设置:

> maxRequestLength – 用于ASP.net(以KB为单位)
> maxAllowedContentLength – 用于IIS(以字节为单位)

示例配置:(这是100MB上传限制)

<configuration>  
    <system.web>  
        <httpRuntime maxRequestLength="102400" executionTimeout="3600" />  
    </system.web>  
</configuration>
<system.webServer>  
   <security>  
      <requestfiltering>  
         <requestLimits maxAllowedContentLength="104857600" />  
      </requestfiltering>  
   </security>  
 </system.webServer>

两者中较小的一个将优先.对于IIS,认值为4MB.

错误处理

两者都抛出不同的例外.

> maxRequestLength – 每当文件超过此设置时,您将获得Application_Error(标准ASP错误)
> maxAllowedContentLength – 每当文件超过此设置时,您将收到IIS错误.

IIS错误更难调试,因此建议您将maxAllowedContentLength设置得更大.从应用程序级别开始,maxRequestLength更容易捕获.

资料来源:

> http://forums.iis.net/t/1169846.aspx
> Which gets priority,maxRequestLength or maxAllowedContentLength?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐