Windows Communication Foundation (WCF) 服务客户端






2.52/5 (13投票s)
2006年8月16日
2分钟阅读

112765

4367
一篇关于在客户端应用程序中使用 WCF 服务的文章。
引言
WCF (Windows Communication Foundation) 是一个用于开发面向服务应用程序的优秀框架。本文解释了从客户端应用程序使用 WCF 服务所需的步骤。
背景
我能找到的最佳 WCF 入门指南是 这个。它会逐步指导您创建 WCF 服务和客户端应用程序。但是,创建客户端应用程序并调用服务公开的方法所需的步骤听起来不太方便。文章说,在客户端应用程序可以使用该服务之前,我们应该运行 svcutil.exe 来生成代理类。然后使用这些代理类来访问服务公开的方法。
一定有更好的选择。本文解释了如何在客户端应用程序中添加对 WCF 服务的 Web 引用。
使用代码
按照 Hello World 示例中的步骤创建 WCF 服务。如果您不想从头开始创建服务,可以下载本文附带的 WCF Service Source.zip。
一旦服务准备好,编译并运行它。您将看到控制台窗口打开。此时,服务已准备就绪,客户端应用程序可以调用服务公开的方法。
大多数使用过 .NET Web 服务的用户肯定会同意我,Web 引用 是调用 Web 服务的最简单方法。我试图对 WCF 服务做同样的事情。但是,我看到 服务发现操作 无法识别该服务,因为未启用 元数据发布。
以下配置设置显示了如何在 WCF 服务上启用 元数据发布
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="HelloService.HelloService"
behaviorConfiguration="HelloService.HelloService" />
</services>
<behaviors>
<serviceBehaviors>
<behavior name="HelloService.HelloService" >
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
上述配置设置将启用服务的 元数据发布。
现在,让我们创建一个访问 HelloService 的客户端应用程序。您可以从头开始创建一个应用程序,也可以使用本文附带的 WCF Client Source.zip。
按照以下步骤创建客户端应用程序
- 创建一个 VB.NET 控制台应用程序(如果您喜欢,也可以使用 C#)。
- 使用以下 URL 添加对服务的 Web 引用:https:///hello(如果您修改了默认服务位置,请使用正确的 URL)。
以下代码显示了如何访问服务器暴露的 WCF 服务
Dim o As New HelloService.HelloService
System.Console.WriteLine("Response from WCF Service: {0}", o.sayHi())
关注点
上面的示例显示了访问 WCF 服务是多么容易。客户端应用程序可以简单地添加对服务的 Web 引用,并像使用 ASP.NET Web 服务一样使用它。