Web services 当web服务是异步的时,它意味着什么?

Web services 当web服务是异步的时,它意味着什么?,web-services,asynchronous,Web Services,Asynchronous,当web服务是异步的时,它意味着什么?这是否仅在使用Ajax调用时使用,并且页面上有一部分在web服务完成时刷新?谢谢。同步意味着您调用web服务(或函数或任何东西)并等待它返回-所有其他代码执行和用户交互将停止,直到调用返回。异步意味着您在等待web服务调用返回时不会停止所有其他操作。执行其他代码和/或用户可以继续与页面(或程序UI)交互 因此,我不会说web服务本身是异步的,我会说您对服务的ajax调用是异步的。问题在于是web服务是异步的,还是您对它的访问是异步的。在网页的上下文中,服务很

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

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


因此,我不会说web服务本身是异步的,我会说您对服务的ajax调用是异步的。

问题在于是web服务是异步的,还是您对它的访问是异步的。在网页的上下文中,服务很可能是同步的,但它是异步访问的


很可能是通过AJAX调用服务。调用该服务,然后页面继续。当响应到来时,成功或失败函数都会异步执行。

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


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

我知道这是一个老话题,但web服务是同步还是异步取决于web服务的设计,与Ajax无关。异步web服务事务的处理过程如下:

  • 客户端调用web服务。在调用中,客户机发送一个回调端点,该端点由客户机作为服务实现
  • web服务返回“MessageReceived”回复。 ... (发生其他一些处理)
  • web服务完成其任务,然后调用客户端提供的回调端点
  • 客户端回调以收到的消息进行答复

  • 请参阅或

    调用同步web服务时,如果一切正常,服务将处理请求并返回HTTP状态代码200 OK(1),或者返回错误4xx。在处理和请求时,呼叫被阻止,可能需要很长时间

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

    (1) 200正常

    (2) 202已接受

    -1:对不起,服务是否同步与客户端无关。请详细说明“无”这一强有力的说法。也许你还有什么要补充的。。。你说的是“什么”,但不是“为什么”。没有客户端的服务器不是很有用;通过分析web服务如何工作,以及它如何能被使用和不能被使用,可以揭示web服务本身是如何工作的。老实说,说web服务本身不是异步的说法是不正确的。web服务也可以是异步的。是的,有重要的一点2。(请求收到确认)和3。回调端点,需要由WSDL指定。。。这确实需要在WS-fwk端进行不同的处理。。。因此,@Donals的回答只有一个是正确的,“如何”链接指的是传统的ASMX web服务技术。该技术已被WCF.Ok取代。这绝对是一个很好的回答。在发送ajax调用的网页上下文中,服务器同步运行代码,服务器端的连接被阻止,或者可以说从浏览器端打开ajax连接的线程也被阻止,但主执行线程不被阻止,并且在创建ajax调用后继续执行。