2011-01-10 71 views
0

我有一个webservice(.asmx)方法需要几分钟才能完成。在客户端,我设置了超时时间为infinte:如何增加在IIS7中运行的Web服务的超时时间?

services.Timeout = -1; 

我如何可以做同样的服务器?

我曾尝试加入以下到我的web.config

<system.web> 
<httpRuntime executionTimeout="1200"/> 

MSDN文档说,这应该增加秒超时。超时时间比20分钟更快。

有人可以帮忙吗?

谢谢!

回答

2

Tha应用程序池默认每20分钟回收一次。老实说,如果你有一个需要这么长时间的请求,你应该调查其他方法。如果您正在构建一个需要永久存储的文件或报告,请考虑在Windows服务的后台构建它,并在用户准备就绪后通过电子邮件发送给用户。

一个更好的问题可能是:究竟是什么花了那么长时间,以及如何优化它?

如果您提供更多信息,我会更新我的答案。

+0

我不是要求优化代码的帮助。我正在处理一大批文件。 – Nick 2011-01-26 15:59:27

0

你也应该改变:

<system.web> 
    <sessionState timeout="..." /> 
</system.web> 

而且还配置应用程序池超时,如David Lively说。这可以在IIS管理器中完成。

相关问题