簡體   English   中英

異步調用異步Web服務和異步調用同步Web服務有什么區別?

[英]What is the difference between calling a asynchronous web service asynchronously and a synchronous webservice asynchronously?

在異步模式下調用異步Web服務與在異步模式下調用同步Web服務之間的區別是什么。 我知道我們可以為sycn web-service創建異步客戶端。

同步和異步Web服務的wsdl之間是否有任何區別?

Web服務是否可以描述為同步或異步取決於其API以及其wsdl描述。

byte[] GetImage()

是一個同步Web服務,而

String StartImageDownload()
bool IsComplete(String token)
byte[] ReadData(String token)

描述了一個異步接口。

無論接口的細節如何,您的代碼中的API調用都可以是同步的或異步的。 實際的Web服務調用是相同的,它只是您的代碼與網絡層交互的方式不同。 在同步調用中,調用線程將阻塞,直到數據返回(或發生錯誤)。 在異步調用中,通過回調函數通知您完成。 實際的機制可能會有所不同,但它可能看起來像:

ws.BeginGetImage(()=>{
    // this is invoked when the result has arrived
    byte[] data = ws.EndGetImage();
});
// execution arrives here before the data does - the previous call doesn't block

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM