ASP.NET MVC上传文件超时

时间:2011-01-21 15:46:14

标签: c# asp.net asp.net-mvc

我目前有一个ASP.NET MVC项目,它有文件上传功能,如果用户连接足够好并且文件大小合适,它的效果很好。

我遇到的问题是,有时用户可能拥有56k连接(他们如何在这个时代与他们一起生活,我不知道)或正在上传更大的文件或某些组合的2。

我希望对正常页面保持一个小的超时(大约90秒),但允许用户上传的操作有更大的超时。这只是一个动作,所以我不介意将代码置于单一动作而不是通用解决方案中。

最终,如果Request.Files.Count>会自动增加超时的解决方案。 0将是最好的。

3 个答案:

答案 0 :(得分:8)

我不确定这是否适用于MVC项目,但您可以尝试在web.config中创建一个位置,并为上传URL设置执行超时。例如:

<location path="YourUrl">
  <system.web>
    <httpRuntime executionTimeout="9001"/>
  </system.web>
</location>

答案 1 :(得分:2)

您可能需要增加web.config中的超时时间:

<httpRuntime executionTimeout="01:00:00" />

现在这在子web.config文件中是可覆盖的,这意味着如果你只想为上传脚本增加超时,你可以编写一个通用的HTTP处理程序,它将处理上传并将其放在自己的子文件夹中,并带有自己的web的.config。

答案 2 :(得分:0)

可能的问题:如果由于零活动而没有超时,可能是内置大小限制,在web.config httpRuntime部分你可以添加/增加maxRequestLength=""达到你的大小限制