逐步解說:建立和存取 WCF 服務
在本逐步解說中,會示範如何建立簡單的 Windows Communication Foundation (WCF) 服務、測試此服務,然後從 Windows Form 應用程式中存取此服務。
注意事項 |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱 Visual Studio 設定。 |
建立服務
若要建立 WCF 服務
在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。
展開 [新增專案] 對話方塊中的 [Visual Basic] 或 [Visual C#] 節點,再按一下 [WCF],然後是 [WCF 服務庫]。 按一下 [確定] 開啟專案。
注意事項 這樣會建立可以測試和存取的工作服務。 下列兩個步驟會示範如何修改預設方法,以使用不同的資料型別。 在實際的應用程式中,您也可以將自己的函式加入至服務。
按兩下 [方案總管] 中的 [IService1.vb] 或 [IService1.cs],然後找出以下這行:
<OperationContract()> Function GetData(ByVal value As Integer) As String
[OperationContract] string GetData(int value);
將 value 參數的型別變更為 String:
<OperationContract()> Function GetData(ByVal value As String) As String
[OperationContract] string GetData(string value);
在上面的程式碼中,請記下 <OperationContract()> 或 [OperationContract] 屬性。 這些是服務所公開之任何方法需要的屬性。
按兩下 [方案總管] 中的 [Service1.vb] 或 [Service1.cs],然後找出以下這行:
Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(int value) { return string.Format("You entered: {0}", value); }
將值參數的型別變更為 String:
Public Function GetData(ByVal value As String) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(string value) { return string.Format("You entered: {0}", value); }
測試服務
若要測試 WCF 服務
按 F5 執行服務。 [WCF 測試用戶端] 表單隨即出現並載入服務。
在 [WCF 測試用戶端] 表單中,按兩下 [IService1] 底下的 [GetData()] 方法。 [GetData] 索引標籤隨即出現。
在 [要求] 方塊中,選取 [值] 欄位並輸入 Hello。
按一下 [叫用] 按鈕。 如果出現 [安全性警告] 對話方塊,請按一下 [確定]。 結果會顯示在 [回應] 方塊中。
按一下 [檔案] 功能表上的 [結束] 關閉測試表單。
存取服務
若要參考 WCF 服務
在 [檔案] 功能表上,指向 [加入],然後按一下 [新增專案]。
展開 [新增專案] 對話方塊中的 [Visual Basic] 或 [Visual C#] 節點,再選取 [Windows],然後選取 [Windows Form 應用程式]。 按一下 [確定] 開啟專案。
以滑鼠右鍵按一下 [WindowsApplication1],然後按一下 [加入服務參考]。 [加入服務參考] 對話方塊隨即出現。
在 [加入服務參考] 對話方塊中,按一下 [探索]。
[Service1] 隨即出現在 [服務] 窗格中。
按一下 [確定] 加入服務參考。
若要建置用戶端應用程式
如果 [Windows Form 設計工具] 尚未開啟,則按兩下 [方案總管] 中的 [Form1.vb] 或 [Form1.cs],開啟 [Windows Form 設計工具]。
從 [工具箱] 將 TextBox 控制項、Label 控制項和 Button 控制項拖曳到表單上。
按兩下 Button,並將下列程式碼加入至 Click 事件處理常式:
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
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; }
在 [方案總管] 中,以滑鼠右鍵按一下 [WindowsApplication1],然後按一下 [設定為啟始專案]。
按 F5 執行專案。 輸入一些文字,然後按一下按鈕。 標籤會顯示「您輸入:」以及實際輸入的文字。