我们有一个调用存储过程的网页。存储过程需要大约5分钟才能运行。当从ASP.NET调用时,它在大约2分40秒时超时,并出现HTTP执行超时错误。
我尝试将web.config文件中的HTTP timeout属性设置为:
<httpRuntime executionTimeout="600">
但这并不管用。
任何想法都很感谢。谢谢
发布于 2013-02-26 05:13:32
您不应该使用可能需要从服务器获得如此长的响应时间的页面来创建web应用程序。作为一般规则,您知道的任何花费时间超过10秒左右的事情都应该作为异步过程来完成。您可能已经看到过显示长时间运行进程的“请等待”屏幕的网站,大多数情况下,这些页面的工作方式是将长时间运行的作业委托给后台进程或消息队列,然后轮询,直到作业成功完成或出错。
我知道如果你以前没有这样做过,这看起来可能是一个很高的要求,但这真的是处理你所面临的场景的专业方法。在某些情况下,无论您将超时设置为什么值,您的客户端可能都会从代理服务器设置为中止HTTP请求的网络中工作。
这是一个过时的链接,我相信.NET框架已经引入了其他方法来实现这一点,但在某些情况下,我实际上仍然使用以下方法。
http://www.devx.com/asp/Article/29617
https://stackoverflow.com/questions/15075880
复制相似问题