2

我们有一个调用存储过程的网页。存储过程大约需要 5 分钟才能运行。从 ASP.NET 调用时,它会在 2 分 40 秒后超时,并出现 HTTP 执行超时错误。

我尝试在 web.config 文件中将 HTTP 超时属性设置为:

<httpRuntime executionTimeout="600">

但这没有帮助。

任何想法表示赞赏。谢谢

4

1 回答 1

2

您不应该使用可能需要服务器响应时间如此长的页面来创建 Web 应用程序。作为一般规则,任何您知道将花费超过 10 秒左右的时间都应该作为异步过程来完成。您可能已经看到为长时间运行的进程显示“请稍候”屏幕的网站,大多数情况下,这些页面通过将长时间运行的作业委托给后台进程或消息队列来工作,然后轮询直到作业成功完成或出错.

我知道如果您以前没有这样做过,这似乎是一项艰巨的任务,但它确实是处理您所面临的场景的专业方法。在某些情况下,您的客户端可能正在使用代理服务器设置为中止 HTTP 请求的网络工作,而不管您将超时设置为什么。

这是一个过时的链接,我相信 .NET 框架已经引入了其他方法来做到这一点,但实际上我今天在某些场景中仍然使用以下方法。

http://www.devx.com/asp/Article/29617

于 2013-02-25T21:13:31.800 回答