我部署了一个调用函数的 web 服务,该函数需要 5 -6 多个小时。我在我的 asp.net 页面上使用这个 web 服务,我正在异步调用这个 web 服务。那么我应该如何增加webservice超时呢?
问问题
7416 次
3 回答
3
如果您正在调用一个需要 5-6 小时才能完成的函数,您可能需要重新考虑您的架构。用户会坐在页面上等待 5 或 6 个小时让您的流程完成吗?可能不是。也许您可以让您的 Web 服务在完成后在数据库、xml 文件或其他一些数据存储中设置一个指标。然后,在您的 asp.net 页面中,您可以单击一个按钮或完成一些其他操作,以检查该指示器以查看该过程是否已完成。
于 2011-02-18T19:28:03.790 回答
2
您需要将 Web.Config 中的 executionTimout 设置为较大的值,例如:
executionTimeout 单位是秒。
<configuration>
<system.web>
<httpRuntime executionTimeout="21600"/>
</system.web>
</configuration>
于 2011-02-18T19:31:49.217 回答
1
如果您对 web 服务中的所有请求都没有问题,那么您可以设置
<httpRuntime executionTimeout="300"/>
在下面
<system.web>
在您的 web.config 中,其中 300 是您的超时时间(以秒为单位)
但是,正如DevSlick 回答的那样,您可能需要重新考虑您的架构,Web 服务不适合长时间运行的任务,您可能需要创建一个按计划运行的控制台应用程序。
于 2011-02-18T19:30:28.403 回答