0

Web 服务异步调用和异步任务之间有什么区别。

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

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

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

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

先感谢您。

4

2 回答 2

0

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

于 2009-06-22T16:05:05.180 回答
0

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

于 2009-06-22T16:08:19.050 回答