ASMX WebService或WCF或aspx页面默认是异步的吗?

时间:2011-06-02 10:39:46

标签: asp.net wcf asynchronous asmx synchronous

我在赌注中涉及我自己,我们的不和是 - Async WebServices和我上面提到的其他内容。

我认为逻辑上Web服务默认是同步,另一个说它不正确。 任何人向我解释是对还是错?

提前致谢。

1 个答案:

答案 0 :(得分:1)

默认情况下,所有这些都是同步的,但您可以异步编写所有这些,并且可以异步调用所有这些。在同步/异步调用和同步/异步执行之间应始终不同。

呼叫

  • 同步 - 客户端调用服务/页面并挂起,直到服务/页面返回响应。
  • 异步 - 客户端调用服务/页面并可以继续工作。客户端通常会通过某些事件(或者可以轮询结果)通知响应已到达。在ASPX中,这是典型的回调或AJAX调用。

执行:

  • 同步 - 服务/页面接收呼叫并处理它。每个外部处理(文件访问,调用其他服务,调用数据库)都是同步完成的,服务/页面在整个请求处理期间阻塞执行线程。
  • 异步 - service / page接收调用,准备外部处理并异步执行。处理线程返回到线程池,同时可以服务其他请求。一旦外部处理结束服务/页面执行再次被安排从线程池接收线程,它完成执行并返回响应。这通常只需要在高流量的页面/服务上进行密集的外部通信。

这两种类型的异步处理完全独立。您可以对同步服务和任何其他组合进行异步调用。