深入探索WCF与WF应用开发
1. WCF服务发现与公告机制
在WCF应用开发中,服务发现是一个重要的功能。通过使用范围(Scopes),可以更精准地发现特定的服务端点。例如,在一个建筑物中有多个打印机,用户在某一层想搜索打印机时,若仅使用契约搜索,所有打印机都会响应;而使用范围装饰打印机端点后,用户在搜索条件中指定范围,只有匹配范围的服务端点才会响应。若指定多个范围,只有匹配所有范围的服务端点才会回复。
服务公告是另一个重要特性。WCF 4.0使得配置服务在启动时公告其端点变得容易,客户端可以通过监听 Hello 和 Bye 公告来了解新服务端点的加入和离开,减少了客户端的探测和多播消息。
1.1 服务端配置
以 Contoso 索赔处理应用中的汽车租赁预订服务为例,要配置服务发送公告,可通过以下两种方式:
- 编程方式 :在 CarRental.ConsoleHost
应用的 ServiceAnnouncementHost.cs
类的 Host()
方法中添加行为。
public void Host()
{
ServiceHost host = new ServiceHost(typeof(CarRentalService), baseAddress);
// Announce the availability of the service over UDP multicast
ServiceDiscov