Share via


非同步 XML Web Service 方法

本主題專門說明舊有技術。 應該使用下列建立 XML Web Service 及 XML Web Service 用戶端: Windows Communication Foundation.

針對叫用長時間執行而封鎖其執行緒的方法,若要改善其 Web 服務方法的效能,您應該考慮將這些方法公開為非同步 Web 服務方法。實作非同步 Web 服務方法可以在執行緒歸還執行緒集區時,允許該執行緒執行其他程式碼。這讓執行緒集區在數目有限的執行緒中又多了一個可以執行的執行緒,從而提升系統的整體效能和延展性 (Scalability)。

如需逐步解說如何將 Web 服務方法轉換成一對專為非同步存取所設計的方法,請參閱 HOW TO:建立非同步 Web 服務方法。如需其他程式碼範例,請參閱 HOW TO:鏈結非同步呼叫與 Web 服務方法

一般來說,呼叫執行 I/O 作業之方法的 Web 服務方法是非同步實作的理想候選目標。這類方法的範例包括一些會和其他 Web 服務通訊、存取遠端資料庫、執行網路 I/O,以及對大型檔案進行讀取和寫入的方法。所有這些方法都會花費大量時間在硬體中執行,因而讓執行 Web 服務方法的執行緒受阻。如果 Web 服務方法是非同步的實作,便可以釋放這個執行緒來執行其他程式碼。

無論 Web 服務方法是否為非同步實作,用戶端都可以和它進行非同步通訊。非同步通訊是在 Web 服務描述語言 (WSDL.EXE) 工具產生的 Proxy 類別中公開給 .NET 用戶端,即使 Web 服務方法為同步實作亦然。Proxy 類別包含 BeginEnd 方法,可用來和每個 Web 服務方法進行非同步通訊。因此,您應該根據效能來決定將 Web 服務方法實作為非同步或同步方法。

83bkx91t.note(zh-tw,VS.100).gif注意:
非同步的 Web 服務方法實作對用戶端與裝載 Web 服務的伺服器之間 HTTP 連線沒有任何影響。這既不會關閉,也不會共用 HTTP 連線。

另請參閱

工作

HOW TO:建立非同步 Web 服務方法
HOW TO:鏈結非同步呼叫與 Web 服務方法

概念

以非同步方式與 XML Web Service 通訊

其他資源

使用 ASP.NET 的 XML Web Service