- 客户端应用程序来测试WCF服务
我们将利用ANP.Net Web 应用程序中的WebFroms模板来实现这一界面。
我们可以在同一解决方案中加一项目:右键单击当前资源管理器中的解决方案,选择“添加”,然后选“新建项目”。
如下图所示,在添加新项目对话框中,选择ANP.Net Web应用程序。选择我们将使用的视窗格式应用(Web Forms)模板。
其中,在生成好的解决方案资源管理器中的Default.aspx文件将用来设计用户界面;Default.aspx.cs文件将包含执行用户界面功能的C#代码。
- 项目建好后,我们需要把温度转换服务添加进来。右键单击WebApplication2项目,选择"添加服务引用"。
(注意:添加WCF服务使用"添加服务引用",而添加ASP .Net服务则使用"添加Web引用")。
下图中显示了添加服务引用的对话框窗口和服务的相关操作,我们把服务的代理命名为ServiceReference2。
- 编写客户端代码(1)
3.1 打开WebApplication2项目中的Default.aspx文件,在该文件中添加与Web Form设计有关的代码。
<body>
<form id="form1" runat="server">
<div></div>
<asp:Label ID="lable2" runat="server" Text="摄氏温度:"></asp:Label>
<asp:TextBox ID="textBox1" runat="server"></asp:TextBox>
<asp:Button ID="button1" runat="server" OnClick="button1_Click" Text="摄氏转华氏"/>
<asp:Label ID="label3" runat="server" Text="华氏温度:"></asp:Label>
<p>
<asp:Label ID="label4" runat="server" Text="华氏温度:"></asp:Label>
<asp:TextBox ID="textBox2" runat="server"></asp:TextBox>
<asp:Button ID="button2" runat="server" OnClick="button2_Click" Text="华氏转摄氏"/>
<asp:Label ID="label5" runat="server" Text="摄氏温度:"></asp:Label>
</p>
</form>
</body>
- 编写客户端代码(2)
3.2 打开WebApplication2项目中的Default.aspx.cs文件,在该文件中添加与温度转换服务相关的代码。
protected void button1_Click(object sender, EventArgs e)
{
double c = Convert.ToDouble(textBox1.Text);
ServiceReference2.Service1Client client = new ServiceReference2.Service1Client();
label3.Text = "华氏温度为:" + client.C2f(c).ToString();
}
private void button2_Click(object sender, EventArgs e)
{
double f = Convert.ToDouble(textBox2.Text);
ServiceReference2.Service1Client client = new ServiceReference2.Service1Client();
label5.Text = "摄氏温度为:" + client.F2c(f).ToString();
}
- WCF测试客户端:在解决方案资源管理器中,右击Default.aspx文件,把当前项目设为起始页,然后运行。