Walkthrough: Creating and Accessing WCF Services

 

发布日期: 2016年4月

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

备注

以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化 IDE

创建服务

要创建 WCF 服务

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

  2. 新建项目对话框中,展开 Visual BasicVisual 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
    

    更改值参数类型为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 窗体应用程序”。 单击确定**打开项目。

    Windows 窗体应用程序项目

  3. 右键单击 WindowsApplication1 并单击添加服务引用。 将显示添加服务引用对话框。

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

    “添加服务引用”对话框

    Service1将在服务窗格中显示。

  5. 单击确定添加服务引用。

要创建客户端应用程序。

  1. 解决方案资源管理器中,双击 Form1.vbForm1.cs 打开 Windows 窗体设计器,如果它未打开。

  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 服务示例