基本 HTTP 服務
此範例會示範如何使用 Windows Communication Foundation (WCF) REST 程式設計模型實作 HTTP、RPC 的服務,也就是一般所謂的 “POX” (Plain Old XML) 服務。 此範例由兩個元件所組成:自我裝載的 WCF HTTP 服務 (Service.cs),以及建立服務並呼叫該服務的主控台應用程式 (Program.cs)。
範例詳細資料
WCF 服務會公開兩個作業:EchoWithGet
和 EchoWithPost
,以傳回當做輸入傳遞的字串。
EchoWithGet
作業是以 WebGetAttribute 加上附註,表示此作業會處理 HTTP GET 要求。 WebGetAttribute 不會明確地指定 UriTemplate,因此,此作業預期使用查詢字串參數和名稱 s 來傳入輸入字串。 請注意,此服務預期的 URI 格式可以使用 UriTemplate 屬性自訂。
EchoWithPost
作業是以 WebInvokeAttribute 加上附註,表示它不是 GET 作業 (它有副作用)。 WebInvokeAttribute 不會明確地指定 Method,因此,此作業會處理 HTTP POST 要求,而且這些要求在要求主體中擁有字串 (例如,以 XML 格式)。 請注意,HTTP 方法和要求的 URI 格式可以分別使用 Method 和 UriTemplate 屬性自訂。
App.config 檔案會以預設的 WebHttpEndpoint 設定 WCF 服務,且 HelpEnabled 屬性設定為 true。 因此,WCF 基礎結構會在 https://localhost:8000/Customers/help
中建立自動 HTML 說明頁,這個頁面會提供如何對服務建構 HTTP 要求以及如何取用服務之 HTTP 回應的相關資訊。
Program.cs 會示範如何使用 WCF 通道處理站呼叫服務以及處理回應。 請注意,這只是存取 WCF 服務的其中一種方式。 您也可以使用其他 .NET Framework 類別 (例如 HttpWebRequest 和 WebClient) 來存取服務。 SDK 中的其他範例 (例如自動格式選取範例和基本資源服務範例) 會示範如何使用這些類別與 WCF 服務進行通訊。
此範例包含同時在主控台應用程式中執行的自我裝載服務和用戶端。 當主控台應用程式執行時,用戶端會對服務發出要求,然後將相關的資訊從回應寫入至主控台視窗。
若要使用這個範例
開啟基本 Http 服務範例的方案。 啟動 Visual Studio 2010 時,您必須以系統管理員身分執行,才能讓範例成功執行。 方法是,以滑鼠右鍵按一下 Visual Studio 2010 圖示,然後選取內容功能表中的 [以系統管理員身分執行]。
按下 F6 以建立方案,然後按下 Ctrl+F5,在不偵錯的情況下執行主控台應用程式。 主控台視窗隨即出現,並提供執行中服務的 URI,以及執行中服務之 HTML 說明頁的 URI。 您可以隨時在瀏覽器中輸入說明頁的 URI 來檢視 HTML 說明頁。 當範例執行時,用戶端會寫入目前活動的狀態。
按下任何按鍵可終止此範例。
注意: |
---|
這些範例可能已安裝在您的電腦上。 請先檢查下列 (預設) 目錄,然後再繼續。
<InstallDrive>:\WF_WCF_Samples
如果此目錄不存在,請移至用於 .NET Framework 4 的 Windows Communication Foundation (WCF) 與 Windows Workflow Foundation (WF) 範例 (英文),以下載所有 Windows Communication Foundation (WCF) 和 WF 範例。 此範例位於下列目錄。
<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Web\BasicHttpService
|