演练:创建和访问 WCF 服务

更新: 2008 年 7 月

本演练演示如何创建一个简单的 Windows Communication Foundation (WCF) 服务,对它进行测试,然后从 Windows 窗体应用程序中访问它。

说明:

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见Visual Studio 设置

创建服务

创建 WCF 服务

  1. 在“文件”菜单上指向“新建”,然后单击“项目”。

  2. 在“新建项目”对话框中,展开“Visual Basic”或“Visual C#”节点,接着单击“WCF”,然后选择“WCF 服务库”。单击“确定”打开此项目。

    说明:

    这就创建了一个可以实际测试和访问的工作服务。下面两个步骤演示了如何修改默认方法以使用其他数据类型。在实际应用程序中,您还可以向此服务添加您自己的功能。

  3. 在“解决方案资源管理器”中,双击 IService1.vb 或 IService1.cs,然后找到下面的行:

    Function GetData(ByVal value As Integer) As String
    string GetData(int value);
    

    将 value 参数的类型更改为 String:

    Function GetData(ByVal value As String) As String
    string GetData(string value);
    
  4. 在“解决方案资源管理器”中,双击 Service1.vb 或 Service1.cs,然后找到下面的行:

    Public Function GetData(ByVal value As Integer) As String _
    Implements IService1.GetData
    public string GetData(int value)
    

    将 value 参数的类型更改为 String:

    Public Function GetData(ByVal value As String) As String _
    Implements IService1.GetData.
    public string GetData(string value)
    

测试服务

测试 WCF 服务

  1. 按 F5 运行此服务。将显示“WCF 测试客户端”窗体,它将加载此服务。

  2. 在“WCF 测试客户端”窗体中,双击“IService1”下的“GetData()”方法。将显示“GetData”选项卡。

  3. 在“请求”框中,选择“值”字段,然后键入 Hello。

  4. 单击“调用”按钮。如果显示“安全警告”对话框,请单击“确定”。结果将显示在“响应”框中。

  5. 在“文件”菜单上单击“退出”关闭测试窗体。

访问此服务

引用 WCF 服务

  1. 在“文件”菜单上指向“添加”,然后单击“新建项目”。

  2. 在“新建项目”对话框中,展开“Visual Basic”或“Visual C#”节点,接着选择“Windows”,然后选择“Windows 窗体应用程序”。单击“确定”打开此项目。

  3. 右击“WindowsApplication1”,然后单击“添加服务引用”。将出现“添加服务引用”对话框。

  4. 在“添加服务引用”对话框中,单击“发现”。

    “Service1”将显示在“服务”窗格中。

  5. 单击“确定”以添加此服务引用。

生成客户端应用程序

  1. 在“解决方案资源管理器”中,如果 Windows 窗体设计器尚未打开,请双击“Form1.vb”或“Form1.cs”将其打开。

  2. 从“工具箱”中将一个 TextBox 控件、一个 Label 控件以及一个 Button 控件拖到窗体上。

  3. 双击 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;
    }
    
  4. 在“解决方案资源管理器”中,右击“WindowsApplication1”,然后单击“设为启动项目”。

  5. 按 F5 运行项目。输入一些文本并单击按钮 - 标签将显示“您输入的内容:”以及您输入的文本。

请参见

任务

使用 ASMX 和 WCF 服务示例

修订记录

日期

修订历史记录

原因

2008 年 7 月

新增针对 C# 的步骤和代码。

信息补充。