我目前有一个ASP.NET MVC项目,它有文件上传功能,如果用户连接足够好并且文件大小合适,它的效果很好。
我遇到的问题是,有时用户可能拥有56k连接(他们如何在这个时代与他们一起生活,我不知道)或正在上传更大的文件或某些组合的2。
我希望对正常页面保持一个小的超时(大约90秒),但允许用户上传的操作有更大的超时。这只是一个动作,所以我不介意将代码置于单一动作而不是通用解决方案中。
最终,如果Request.Files.Count>会自动增加超时的解决方案。 0将是最好的。
答案 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=""
达到你的大小限制