vs新建网站选项只有wcf服务器,在 Windows 窗体中创建一个简单的 WCF 服务 - Visual Studio (Windows) | Microsoft Docs...

演练:在 Windows 窗体中创建简单 WCF 服务

11/04/2016

本文内容

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

备注

本文中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 你可能正在使用其他版本的 Visual Studio 或其他环境设置。 有关详细信息,请参阅个性化设置 IDE。

创建服务

打开 Visual Studio。

在“文件”菜单上,选择“新建”>“项目”。

在 " 新建项目 " 对话框中,展开 " Visual Basic " 或 " Visual c # " 节点,然后选择 " Wcf",然后选择 " wcf 服务库"。

单击“确定”以创建该项目 。

fafaf022c311723c4dc36c6f74ef407e.png

在“开始”窗口上,选择“创建新项目” 。

在 "创建新项目" 页上的 "搜索" 框中键入 " wcf 服务库"。 选择 " WCF 服务库" 的 "c #" 或 "Visual Basic" 模板,然后单击 " 下一步"。

aad91a2086b7efdf9e9c0362dd27e813.png

提示

如果看不到任何模板,可能需要安装 Visual Studio 的 Windows Communication Foundation 组件。 选择 " 安装更多工具和功能 " 以打开 Visual Studio 安装程序。 选择 " 单个组件 " 选项卡,向下滚动到 " 开发活动",然后选择 " Windows Communication Foundation"。 单击“修改”。

在 " 配置新项目 " 页上,单击 " 创建"。

备注

这将创建可以测试和访问的工作服务。 以下两个步骤演示您可以如何修改使用不同数据类型的默认方法。 在实际应用中,您还会向服务中添加您自己的函数。

在 解决方案资源管理器 中,双击 " IService1 " 或 " IService1"。

43c29daf75bc69a43542de848f745698.png

查找以下行:

[OperationContract]

string GetData(int value);

Function GetData(ByVal value As Integer) As String

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

[OperationContract]

string GetData(string value);

Function GetData(ByVal value As String) As String

在上面的代码中,请注意或[OperationContract]属性。 这些属性是由服务公开的任何方法所必需的。

在 解决方案资源管理器 中,双击 " Service1 " 或 " Service1"。

44c6259890ea8b55b658d0eb672d8834.png

查找以下行:

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);

}

将参数的类型更改 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

测试服务

按 F5 运行该服务。 WCF 测试客户端 窗体随即出现并加载服务。

在“WCF 测试客户端”窗体中,双击 IService1 下的 GetData() 方法。 此时会显示 "工作" 选项卡。

2f841838830a8f1d6e83df4469967224.png

在“请求”框中,选择“值”字段,并键入 Hello。

0bb7403f20e231f3d766f959697ac9c8.png

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

ab698f8b1ac81a801ede6b07992685cd.png

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

访问服务

引用 WCF 服务

在 " 文件 " 菜单上,指向 " 添加 ",然后单击 " 新建项目"。

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

2095b5111863c150d556c5aa8d7d1cc0.png

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

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

6edfeb4759f4a00e5636f3d9b86b1e12.png

Service1 显示在 " 服务 " 窗格中。

单击“确定”,添加服务引用。

生成客户端应用程序

在解决方案资源管理器中,双击 Form1.vb 或 Form1.cs,打开 Windows 窗体设计器(如果尚未打开)。

从工具箱把 TextBox 控件、Label 控件和 Button 控件拖到窗体中。

c1958eef83fc811bf9f321b5d8f5d47a.png

双击 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

在解决方案资源管理器中,右键单击 WindowsApplication1,然后单击“设为启动项目”。

按 F5 运行项目。 输入一些文本,然后单击按钮。 此标签显示 "您输入的内容:",并显示您输入的文本。

6facc611de88b353843fbcd9735f7f58.png

另请参阅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值