共用方式為


ASP.NET 應用程式服務概觀

更新:2007 年 11 月

ASP.NET 應用程式服務是內建的 Web 服務,提供您存取諸如表單驗證、角色及設定檔屬性等功能。這些服務是服務導向架構 (Service-Oriented Architecture,SOA) 的一部分,其中應用程式是由伺服器上所提供的一個或多個服務,以及一個或多個用戶端所組成。如需 SOA 的詳細資訊,請參閱 MSDN 網站上的了解服務導向架構 (英文)。

ASP.NET 應用程式服務的一項重要功能就是可使用於各種用戶端應用程式上,而不限於 ASP.NET Web 應用程式。ASP.NET 應用程式服務可供以 .NET Framework 為基礎的任何用戶端使用。此外,任何可以傳送和接收 SOAP 格式之訊息的用戶端應用程式,都可以使用 ASP.NET 應用程式服務。

本主題包含下列資訊。

  • 案例

  • 背景

  • 範例

  • 類別參考

  • 其他資源

案例

ASP.NET 應用程式服務的用戶端應用程式可以是不同的類型,而且可以在不同作業系統上執行。包含下列用戶端類型:

  • AJAX 用戶端:指可在瀏覽器中執行,以及可從用戶端指令碼存取應用程式服務的 ASP.NET 網頁 (.aspx 檔案)。AJAX 用戶端一般是使用 JSON 格式來交換資料。如需詳細資訊,請參閱在 ASP.NET AJAX 中使用 Web 服務

  • .NET Framework 用戶端。指可使用提供者模型基礎結構,透過 HTTP 存取應用程式服務,以及使用 JSON 通訊協定來交換資料的 .NET Framework Windows 應用程式。如需詳細資訊,請參閱用戶端應用程式服務概觀

    注意事項:

    提供者模型可讓成員資格系統使用不同的資料存放區,或具有不同結構描述的資料存放區。如需詳細資訊,請參閱成員資格提供者

  • SOAP 用戶端:指可以透過 SOAP 1.1 存取應用程式服務的用戶端。特別適用於在其他作業系統上執行,或使用其他技術 (例如 Java 應用程式) 的用戶端。如需詳細資訊,請參閱逐步解說:使用 ASP.NET 應用程式服務

下圖說明不同的用戶端如何與服務通訊。

Web 服務通訊

背景

ASP.NET 所提供的應用程式服務,可讓用戶端應用程式存取及共用隸屬於 Web 應用程式的資訊。在 ASP.NET 中提供下列應用程式服務:

  • 驗證服務:這項服務可讓使用者登入應用程式。這項服務接受使用者憑證,並傳回驗證票證 (Cookie)。如需詳細資訊,請參閱 ASP.NET 表單驗證概觀

  • 角色服務:這項服務會根據 ASP.NET 角色提供者所提供的資訊,決定已驗證使用者的應用程式相關之角色。如果您要提供特定 UI,或提供存取特定資源 (視使用者角色而定),這項服務就很適用。如需詳細資訊,請參閱使用角色管理授權

  • 設定檔服務:這項服務提供個別使用者的資訊,做為儲存在伺服器上的使用者設定檔。這麼做可讓您的應用程式在不同時期、從不同用戶端 UI 元件存取使用者設定。如需詳細資訊,請參閱 ASP.NET 設定檔屬性概觀

應用程式服務用戶端

本節提供詳細資訊,說明可使用 ASP.NET 應用程式服務的用戶端應用程式類型,以及用戶端如何與應用程式服務通訊的資訊。

AJAX 用戶端

AJAX 用戶端 (啟用 AJAX 的 ASP.NET 網頁) 會使用 POST 要求,透過 HTTP 與應用程式服務交換資料。資料採用 JSON 格式封裝。用戶端應用程式透過用戶端指令碼 Proxy 類別,與應用程式服務進行通訊。Proxy 類別是由伺服器所產生,並下載至瀏覽器成為呼叫應用程式服務之任何頁面的一部分。如需詳細資訊,請參閱在 ASP.NET AJAX 中使用 Web 服務

.NET Framework 用戶端

ASP.NET 應用程式服務會使用 POST 要求,透過 HTTP 與 .NET Framework 用戶端交換資料。資料採用 JSON 格式封裝。用戶端應用程式會使用 .NET Framework 提供者模型,與應用程式服務進行通訊。對於 ASP.NET 應用程式服務,提供者模型會參考 .NET Framework 用戶端類型,以及從資料來源儲存及擷取使用者憑證的相關成員資格提供者。例如,包括 SqlMembershipProvider 類別。 

用戶端和伺服器之間的通訊是同步的。如需詳細資訊,請參閱用戶端應用程式服務概觀。應用程式服務是由 System.Web.ClientServices.Providers 命名空間中定義的型別所實作。

若要存取應用程式服務,.NET Framework 用戶端應用程式必須適當地設定。伺服器組態和 AJAX 中的應用程式服務所使用的組態相同。

如需提供者模型的詳細資訊,請參閱 ASP.NET 2.0 提供者模型:提供者模型簡介 (英文) 及成員資格簡介

SOAP 用戶端

您可以在任何可使用 SOAP 1.1 通訊協定的作業系統上,從任何用戶端應用程式存取 ASP.NET 驗證、設定檔以及角色服務。ASP.NET 應用程式服務建置在 Windows Communication Foundation (WCF) 上,並以 SOAP 格式和用戶端交換資料。如需詳細資訊,請參閱 MSDN 網站上的 XML Web Service 基礎結構 (英文)。

用戶端與應用程式服務之間的通訊,是使用在用戶端中執行且代表應用程式服務的 Proxy 類別加以執行的。您可以使用服務模型中繼資料公用程式工具 (svcutil.exe) (英文),產生支援 ASP.NET 應用程式服務的 Proxy 類別。如需詳細資訊,請參閱逐步解說:使用 ASP.NET 應用程式服務

支援下列 Proxy 類別:

  • 驗證服務用戶端。產生的驗證服務用戶端 Proxy 類別,可讓您從能傳送及讀取 SOAP 訊息的任何用戶端應用程式使用驗證服務。ASP.NET 應用程式的使用者,以及不使用 .NET Framework 之應用程式的使用者,可以使用相同的使用者憑證進行驗證。服務所發行的驗證票證會建立成 HTTP Cookie,且與 ASP.NET 表單驗證相容。如需詳細資訊,請參閱 HOW TO:啟用 WCF 驗證服務。如需驗證票證的詳細資訊,請參閱 FormsAuthenticationTicket

    注意事項:

    驗證服務並不支援在 URL 中內嵌驗證票證。因此,Cookie 必須受到支援且在用戶端上啟用才能保留驗證票證。

  • 角色服務用戶端。產生的角色服務用戶端 Proxy,可讓您從能傳送及讀取 SOAP 訊息的任何用戶端應用程式使用角色服務。如需詳細資訊,請參閱 HOW TO:啟用 WCF 角色服務

  • 設定檔服務用戶端。產生的設定檔服務用戶端 Proxy,可讓您從能傳送及讀取 SOAP 訊息的任何用戶端應用程式使用設定檔服務。ASP.NET 應用程式的使用者,以及不使用 .NET Framework 之應用程式的使用者,可以存取相同的使用者設定。如需詳細資訊,請參閱 HOW TO:啟用 WCF 設定檔服務

回到頁首

範例

如需如何從 AJAX 用戶端呼叫應用程式服務的範例,請參閱下列主題:

如需如何從 .NET Framework 用戶端呼叫應用程式服務的範例,請參閱下列主題:

如需如何從 SOAP 用戶端呼叫應用程式服務的範例,請參閱下列主題:

回到頁首

類別參考

下表列出與從用戶端應用程式呼叫 ASP.NET 應用程式服務相關聯的主要類型。

用戶端命名空間

下表列出的命名空間內含的類別與型別,會與用戶端指令碼一起使用以呼叫 ASP.NET 應用程式服務。

名稱

描述

Sys.Services 命名空間

包含的型別可提供在 ASP.NET AJAX 應用程式中對 ASP.NET 驗證服務、設定檔服務和角色應用程式服務的指令碼存取權。Sys.Services 命名空間是 Microsoft AJAX Library 的一部分。

伺服器命名空間

下表列出的命名空間內含的類別與型別,可支援 ASP.NET 應用程式服務進行伺服器程式設計。

名稱

描述

System.Web.ApplicationServices

提供的類別可讓您存取 Web 應用程式服務。

System.Web.ClientServices

提供的類別支援在 Windows 架構應用程式中,存取 ASP.NET 登入、角色及設定檔服務。

System.Web.ClientServices.Providers

內含用戶端服務提供者,以及其他支援在 Windows 架構應用程式中存取 Web 應用程式服務的類別。

回到頁首

其他資源

Windows Communication Foundation 是什麼?

了解服務導向架構

XML Web Se rvice 基礎結構

回到頁首

請參閱

工作

HOW TO:啟用 WCF 驗證服務

HOW TO:啟用 WCF 角色服務

HOW TO:啟用 WCF 設定檔服務

概念

在 ASP.NET AJAX 中使用 Web 服務