[WCF-Discovery] 实例演示:如何利用服务发现机制实现服务的“动态”调用?

  前面两篇(《服务如何能被”发现”》和《客户端如何能够“探测”到可用的服务?》)我们分别介绍了可被发现服务如何被发布,以及客户端如果探测可用的服务。接下来我们通过一个简单的例子来演示如果创建和发布一个可被发现的服务,客户端如何在不知道服务终结点地址的情况下动态探测可用的服务并调用之。该实例的解决方案采用如下图所示的结构,即包含项目Service.Interface(类库)、Client(控制台应用)和Service(控制台应用)分别定义服务契约、服务(包括服务寄宿)和客户端程序。[源代码从这里下载,DynamicEndpoint方式进行服务调用源代码从这里下载]。

目录
步骤一、创建服务契约和服务
步骤二、寄宿服务
步骤三、服务的“动态”调用
DynamicEndpoint

  步骤一、创建服务契约和服务

  第一个步骤自然是在Service.Interface项目中定义代表服务契约的接口。我们还是采用属性的计算服务的例子,为此我们定义了如下一个ICalculator接口。

using System.ServiceModel;
namespace Artech.ServiceDiscovery.Service.Interface
{
[ServiceContract(Namespace="http://www.artech.com/")]
public interface ICalculator
{
[OperationContract]
double Add(double x, double y);
}
}

NET技术[WCF-Discovery] 实例演示:如何利用服务发现机制实现服务的“动态”调用?,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。