file upload10分钟后ASP.NET MVC获取错误504

我有一个ASP.NET MVC2 Web应用程序,使用IIS 6.2运行的SQL Server 2008 R2。 我有一个function,一个特定的pipe理员需要上传大约5000个文档,然后将其处理并存储在服务器中,同时将其名称保存在数据库中。

问题是,在客户端,file upload开始10分钟后,我得到:错误504超时,网关超时。 我改变了web.config中的httpRuntime.ExecutionTimeout值,但没有解决问题。

有谁知道限制我存储在哪里?

这是我的web.config文件: http : //pastebin.com/VXs0BFTp

编辑:另外,收到错误504后,数据库中的数据存储不pipe怎么样。

从您的描述看来,您的客户端 – > Web服务器连接超时很可能与代理使用有关。 如果您的服务器在超过10分钟的时间内处理文件,您的客户端不会及时收到响应,但Web服务器可以进一步处理。

httpRuntime.ExecutionTimeout指定一个IIS线程在被closures之前被允许处理一个请求,所以它不应该对你的问题有任何影响。

如果你不能优化你的服务器端处理文件,我的build议是重新devise。 一种可能的方法是上传所有的文件,尽快响应客户端,并进行asynchronous处理。 当然,应该改变客户端UI以能够显示处理的状态(例如百分比)。

如果上传过程花费太多(即几分钟),则解决scheme可能是让pipe理员将文件传输到networking位置,并在此之后开始处理(Web服务器应该有权从该位置读取)。 这不是非常用户友好,但pipe理员不是普通用户。