-1

我部署了一个调用函数的 web 服务,该函数需要 5 -6 多个小时。我在我的 asp.net 页面上使用这个 web 服务,我正在异步调用这个 web 服务。那么我应该如何增加webservice超时呢?

4

3 回答 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 回答