共用方式為


HOW TO:定義 Windows Communication Foundation 服務合約

這是在建立基本 Windows Communication Foundation (WCF) 服務,及可以呼叫該服務的用戶端時,必須進行的六個工作中的第一個。如需這六個工作的概觀,請參閱使用者入門教學課程主題。

建立基本 WCF 服務時,第一項工作是要定義合約。合約會指定服務所支援的作業。作業可以視為一種 Web 服務方法。合約可以透過定義 C++、C# 或 VB 介面來建立。介面中的每一個方法都會對應到一個特定的服務作業。每一個介面都要有套用一個 ServiceContractAttribute,而且每一個作業都必須套用一個 OperationContractAttribute。如果有 ServiceContractAttribute 之介面內的方法沒有 OperationContractAttribute,則不會公開該方法。

用於這項工作的程式碼將於本程序之後的範例中提供。

若要使用介面建立 Windows Communication Foundation 合約

  1. 以滑鼠右鍵按一下 [開始] 功能表中的程式,並選取 [以系統管理員身分執行],以系統管理員的身分開啟 Visual Studio 2008。

  2. 建立新的主控台應用程式專案。選取 [新增專案] 對話方塊中的 [Visual Basic] 或 [Visual C#],然後選擇 [主控台應用程式] 範本,並將其命名為 Service。使用預設的 [位置]。

  3. 將預設的 Service 命名空間變更為 Microsoft.ServiceModel.Samples

  4. 在專案中加入 System.ServiceModel.dll 的參考:

    1. 在 [方案總管] 中,以滑鼠右鍵按一下專案資料夾下方的 [參考] 資料夾,然後選擇 [加入參考]。
    2. 按一下 [加入參考] 對話方塊中的 [瀏覽] 索引標籤,巡覽到 c:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation,然後選取 System.ServiceModel.dll 並按一下 [ 確定]。
    ms731835.note(zh-tw,VS.90).gif注意:
    使用命令列編譯器時 (例如,Csc.exe 或 Vbc.exe),必須同時提供組件的路徑。依照預設,以執行 Windows Vista 的電腦為例,路徑為:Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation。

  5. System.ServiceModel 命名空間新增 using 陳述式 (Visual Basic 中的 Imports)。

  6. 定義稱為 ICalculator 的新介面,然後將 ServiceContractAttribute 屬性套用到介面,並將 Namespace 值設為 "http://Microsoft.ServiceModel.Samples"。明確的指定命名空間是最理想的作法,因為如此一來,預設的命名空間值便不會加入合約名稱。

    ms731835.note(zh-tw,VS.90).gif注意:
    使用屬性對介面或類別進行標註時,您可以在屬性名稱中省略 "Attribute" 的部分。因此,ServiceContractAttribute 會變成 [ServiceContract]

  7. 在介面中,為每一個 ICalculator 合約所公開的作業 (加/減/乘/除),宣告一個方法,然後在每一個想公開為公用 WCF 合約一部分的方法中,套用 OperationContractAttribute 屬性。

範例

下列程式碼範例會顯示可定義服務合約的基本介面。

現在,介面已經建立完成。建置專案並且確認沒有任何編譯錯誤,然後繼續進行 HOW TO:實作 Windows Communication Foundation 服務合約,實作介面。如需疑難排解的詳細資訊,請參閱使用者入門教學課程疑難排解

請參閱

工作

HOW TO:實作 Windows Communication Foundation 服務合約

參考

ServiceContractAttribute
OperationContractAttribute

其他資源

Getting Started Sample
Self-Host