【问题标题】:what is the difference of calling a Web Services using Asynchronous Call vs. Asynchronous Task使用异步调用与异步任务调用 Web 服务有什么区别
【发布时间】:2009-06-22 16:02:15
【问题描述】:

Web Services 异步调用和异步任务有什么区别。

我们正在开发一个 ASP.NET 应用程序,该应用程序需要调用将处理数千行数据的 Web 服务方法。这个过程通常需要 2 到 3 分钟(可能更多可能更少,这取决于数据量)。所以我们一直在特定页面上的 Timeout 中运行。

所以我们决定以异步方式调用此 Web 服务方法,但我们遇到了由我们正在使用的 UI 组件之一的 HTTP 处理程序引起的冲突。幸运的是,我们可以从 httphandler 指令中删除页面。

到目前为止没有问题,但问题来了,一位同事发现我们可以使用异步 Web 服务调用来代替异步 Web 服务调用,将同步调用包装在 ASP.NET 页面的异步任务中,并能够保持向组件发送指令,并在没有超时的情况下执行 Web 服务方法。

所以现在我关心的是使用异步任务而不是异步调用可以找到什么样的问题。

提前谢谢你。

【问题讨论】:

    标签: asp.net web-services asynchronous task


    【解决方案1】:

    顺便说一句,Web 服务不应该以这种方式使用。 HTTP 超时如此之低是有原因的。您应该让 Web 服务触发任务,方法是在 DB 中设置一个实际服务启动的标志,或者 Web 服务应该生成一个进程。

    【讨论】:

      【解决方案2】:

      如果我了解您的情况,应该没有问题。在这两种情况下,您的页面都是异步的。在这两种情况下,您都无需等待服务完成——您在服务运行时放弃了请求线程。在这两种情况下,您的页面执行所花费的时间与您同步调用服务所花费的时间相同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 2011-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多