【发布时间】:2012-01-25 19:08:26
【问题描述】:
我发布了一个 ASP.NET MVC3 站点。它运行良好。但是,回顾我的 web.config 文件,我不确定我使用的某些值对于发布和开发是否正确。这些配置位于<system.web> 部分。
...
<system.web>
<httpRuntime requestValidationMode="2.0" executionTimeout="200" maxRequestLength="20000000"/>
<compilation debug="true" targetFramework="4.0">
...
我在这里 (http://msdn.microsoft.com/en-us/library/e1f13641.aspx) 读到,在编译中使用 debug=true 将忽略 200 的 executionTimeout,并使用默认值 110。这似乎是这种情况,并且该站点设置为允许非常大的数量要一次全部上传的文件。但是,只有 110 秒,无法上传太多内容。
我的问题是:发布实时站点以进行调试“假”的正确设置是什么?此外,考虑到 asp.net 现在是版本 4(即将是 4.5),requestValidationMode="2.0" 仍然可以安全使用吗?
【问题讨论】:
-
当调试为真时,没有执行超时。发布时应始终将 debug 设置为 false,如果需要比默认时间更长的时间,则应显式设置 executionTimeout。
-
是的,我意识到上传实际上正在发生,但在其他地方存在瓶颈。我正在尝试一次上传 9MB 的图片,但是一旦上传就不会了。如果我分开做,它会起作用,但不是一次。
-
您使用的是 IIS 7+ 吗?如果是这样,请确保请求过滤 maxAllowedContentLength 未配置为低。我认为默认值相当大....
-
@dotjoe 我不这么认为,我可以上传 3 张总共 15 MB 的图片,但不能上传 4 张总共 400kb 的图片。
-
是的,在 iis 7 特定的 system.webServer...iis.net/ConfigReference/system.webServer/security/…
标签: asp.net asp.net-mvc-3 web-config