共用方式為


以 Managed 程式碼建立之 Web 服務的程式設計簡介

使用 Web 服務可在異質系統之間使用 XML 訊息格式來交換彈性結合的資料。 雖然遠端存取資料及應用程式邏輯不是新的觀念,但是運用有彈性的方式進行遠端存取是項新的觀念。 如 DCOM、IIOP 和 Java/RMI 之類的先前嘗試需要用戶端與伺服器之間緊密整合。 這些嘗試使用的是作業系統與實作專屬的二進位資料格式,而不是 XML 為基礎的合約。

DCOM、IIOP 和 Java/RMI 需要特殊的元件技術或物件呼叫慣例,而 Web 服務則無此需要。 對於用戶端與伺服器之間的唯一假設,是收件者會了解其所接收到的訊息。 換言之,用戶端與伺服器達成協定,在此情況下是指使用 WSDL 和 XSL 結構描述定義 (XSD) 所定義的協定。 接著,用戶端與伺服器會藉由產生承認協議的訊息,透過如 HTTP 的指定傳輸進行通訊。 因此,使用任何語言撰寫、採用任何元件模型,以及在任何作業系統上執行的程式,都可以存取 Web 服務。 另外,如 XML 文字格式的彈性將使得訊息交換能夠逐漸透過有彈性的方式進行。 在無法同時更新訊息交換中所有部分的環境中,應強制具備彈性。

這項技術僅為現有應用程式供回溯相容性而保留,不建議用於開發新的應用程式。如需建議替代項目的詳細資訊,請參閱下列主題:
 Visual Studio 中的 Windows Communication Foundation 服務和 WCF 資料服務

Web 服務和 .NET Framework

如果您使用 ASP.NET 和 .NET Framework 為基礎的 Managed 程式碼建立 Web 服務,就不需要撰寫「基礎結構程式碼」(Infrastructure Code) 來處理通訊協定或訊息傳輸這類細節。 此外,如果您建立使用 ASP.NET 網頁架構的 Web 服務,您的服務就可以使用 .NET Framework 的許多功能,例如驗證、快取及狀態管理。

在 ASP.NET 應用程式模型中,網頁會使用 .aspx 副檔名。 為了區別 Web 服務與一般 ASP.NET 網頁,Web 服務使用 .asmx 副檔名。

為了使用 Web 服務促進雙向資料交換,開發人員必須:

  • 建立 Web 服務。 當您建立 XML Web Service 時,會一併建立向 XML Web Service 用戶端公開功能的應用程式。

  • 存取 Web 服務。 當您存取 Web 服務時,用戶端應用程式會尋找、參考和使用包含在 Web 服務中的功能。 XML Web Service 的用戶端通常是應用程式。 這個應用程式能夠傳送、接收和處理往來 Web 服務的訊息。

  • 這位開發人員不必建立 Web 服務,就能存取該服務。 某些 Web 服務 (如流量資訊服務) 可能是由單一實體 (例如,美國交通運輸部門) 所建立。 不過,可能有許多網站存取這項服務,例如貨運公司的網站。

Web 服務可以是獨立的應用程式,或是較大型 Web 應用程式的子元件。 例如,假設您建立了線上購書的 Web 應用程式。 您的 Web 應用程式使用 Web 服務的方式可能如下:

  • 建立 Web 服務。 您的應用程式將其訂單流程邏輯公開為 Web 服務。 附屬的網站則可在線上銷售書籍的 Web 應用程式中存取這項服務。

  • 存取 Web 服務。 您的應用程式存取另一家線上公司所開發的 Web 服務,這家線上公司專門為線上書店撰寫書評。 當您線上書店的瀏覽者查看特定書籍的價格時,也會在同一網頁上看到同一本書的評論。

請記得,您可以從許多不同類型的應用程式存取 Web 服務,包括其他 Web 服務、Web 應用程式、Windows 應用程式及主控台應用程式。 不過,用戶端必須能夠將訊息傳送至 Web 服務。