Walkthrough: Creating and Accessing WCF Services

 

發行︰ 2016年4月

本逐步解說示範如何建立簡單的 Windows Communication Foundation (WCF) 服務、予以測試,然後從 Windows Form 應用程式加以存取。

注意

在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱將 IDE 個人化

建立服務

建立 WCF 服務

  1. 在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。

  2. 在 [新增專案] 對話方塊中,展開 [Visual Basic] 或 [Visual C#] 節點,按一下 [WCF],接著是 [WCF 服務程式庫]。 按一下 [確定] 開啟專案。

    WCF 服務程式庫專案

    注意

    這樣會建立一個可進行測試和存取的工作服務。 以下兩個步驟示範如何修改預設方法以使用不同的資料類型。 在實際的應用程式中,您也會將自己的功能加入服務。

  3. IService1 檔案

    在 [方案總管] 中,按兩下 IService1.vb 或 IService1.cs,並尋找下面這一行:

            [OperationContract]
            string GetData(int value);
    
        <OperationContract()>
        Function GetData(ByVal value As Integer) As String
    

    value 參數的類型變更為 String

            [OperationContract]
            string GetData(string value);
    
        <OperationContract()>
        Function GetData(ByVal value As String) As String
    

    請注意上述程式碼中的 <OperationContract()>[OperationContract] 屬性。 服務所公開的所有方法都需要這些屬性。

  4. Service1 檔案

    在 [方案總管] 中,按兩下 Service1.vb 或 Service1.cs,並尋找下面這一行:

            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
    
        Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData
            Return String.Format("You entered: {0}", value)
        End Function
    

    將 value 參數的類型變更為 String

            public string GetData(string value)
            {
                return string.Format("You entered: {0}", value);
            }
    
        Public Function GetData(ByVal value As String) As String Implements IService1.GetData
            Return String.Format("You entered: {0}", value)
        End Function
    

測試服務

測試 WCF 服務

  1. F5 執行服務。 這樣會顯示 [WCF 測試用戶端] 表單並載入服務。

  2. 在 [WCF 測試用戶端] 表單中,按兩下 [IService1] 下的 [GetData()] 方法。 [GetData] 索引標籤隨即顯示。

    GetData() 方法

  3. 在 [要求] 方塊中,選取 [值] 欄位,然後輸入 Hello

    值欄位

  4. 按一下 [叫用] 按鈕。 如果顯示 [安全性警告] 對話方塊,請按一下 [確定]。 結果將顯示在 [回應] 方塊中。

    [回應] 方塊中的結果

  5. 在 [檔案] 功能表上,按一下 [結束] 關閉測試表單。

存取服務

參考 WCF 服務

  1. 在 [檔案] 功能表上,指向 [新增],然後按一下 [新增專案]。

  2. 在 [新增專案] 對話方塊中,展開 [Visual Basic] 或 [Visual C#] 節點,選取 [Windows],然後選取 [Windows Form 應用程式]。 按一下 [確定] 開啟專案。

    Windows Form 應用程式專案

  3. 以滑鼠右鍵按一下 [WindowsApplication1],然後按一下 [加入服務參考]。 [加入服務參考] 對話方塊隨即出現。

  4. 在 [加入服務參考] 對話方塊中,按一下 [探索]。

    [新增服務參考] 對話方塊

    [Service1] 將顯示在 [服務] 窗格中。

  5. 按一下 [確定] 新增服務參考。

建置用戶端應用程式

  1. 在 [方案總管] 中,按兩下 [Form1.vb] 或 [Form1.cs] 開啟 Windows Form 設計工具 (如果尚未開啟)。

  2. 從 [工具箱] 中,將 TextBox 控制項、Label 控制項及 Button 控制項拖曳至表單。

    將控制項新增至表單

  3. 按兩下 [Button],並將下列程式碼加入 Click 事件處理常式:

            private void button1_Click(System.Object sender, System.EventArgs e)
            {
                ServiceReference1.Service1Client client = new
                    ServiceReference1.Service1Client();
                string returnString;
    
                returnString = client.GetData(textBox1.Text);
                label1.Text = returnString;
            }
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles Button1.Click
            Dim client As New ServiceReference1.Service1Client
            Dim returnString As String
    
            returnString = client.GetData(TextBox1.Text)
            Label1.Text = returnString
        End Sub
    
  4. 在 [方案總管] 中,以滑鼠右鍵按一下 [WindowsApplication1],然後按一下 [設定為啟始專案]。

  5. F5 執行專案。 輸入一些文字,然後按一下按鈕。 標籤會顯示「您輸入:」以及您輸入的文字。

    結果的顯示格式

請參閱

使用ASMX 和WCF 服務範例