Web服务异步时意味着什么?

joh*_*nny 25 asynchronous web-services

Web服务异步时意味着什么?这是仅在您使用Ajax调用它时使用的,并且您的页面上有一部分在Web服务完成时刷新?谢谢.

小智 73

我知道这是一个老话题,但Web服务是同步还是异步取决于Web服务的设计,与Ajax无关.异步Web服务事务如下所示:

  1. 客户端调用Web服务.在呼叫中,客户端发送由客户端实现为服务的回调端点.
  2. Web服务返回"收到消息"回复....... (其他一些处理发生) ......
  3. Web服务完成其任务,然后调用客户端提供的回调端点.
  4. 客户端回调回复收到的消息.

请参阅开发异步Web服务如何:创建异步Web服务方法


Ray*_*Ray 12

同步意味着您调用Web服务(或函数或其他)并等到它返回 - 所有其他代码执行和用户交互都会停止,直到调用返回.异步意味着您在等待Web服务调用返回时不会暂停所有其他操作.其他代码执行和/或用户可以继续与页面(或程序UI)交互.

所以,我不会说Web服务本身是异步的,我会说你对服务的ajax调用是异步的.


Joh*_*ers 11

问题是,Web服务是异步还是您对它的访问.在网页的上下文中,服务更可能是同步的,但是它是异步访问的.

最有可能的是,该服务是通过AJAX调用的.调用该服务,然后页面继续.响应进入时,异步执行成功或失败功能.


Ans*_*ssi 11

当您调用同步Web服务时,服务处理请求并返回HTTP状态代码200 OK(1)如果一切按预期进行,或者错误4xx.处理和请求时阻止呼叫,并且可能需要很长时间.

当Web服务是异步的时,主要区别在于调用应该立即返回HTTP 202 ACCEPTED(2),这意味着请求在队列中进行但尚未处理.

(1)200 OK http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1(2)202
ACCEPTED http://www.w3.org/Protocols/rfc2616/rfc2616-sec10的.html#sec10.2.3


bn.*_*bn. 5

异步 Web 服务允许客户端提交请求、处理请求并在给定时间后响应客户端 - 客户端不会阻止接收响应时的所有活动。

相比之下,同步 Web 服务将直接向客户端提供响应,并期望客户端阻止所有活动,直到返回响应。在这种情况下,Web 服务将限制客户端一次处理一个请求。

  • 详细阐述“无”这一强有力的陈述。也许您还有更多要补充的内容……您给出了“什么”,但没有给出“为什么”。没有客户端的服务器没有多大用处;通过如何使用和不可以使用 Web 服务来检查 Web 服务的工作原理,可以揭示 Web 服务本身的工作方式。 (2认同)