深入理解WCF服务的消费与版本控制
1. 消费WCF服务
1.1 使用Add Web Reference选项
当使用.asmx Web服务并希望以其原生形式(而非作为WCF服务)进行消费时,可以使用“Add Web Reference”选项。不过,通常不建议使用该选项,除非有特定原因。使用此选项会限制很多功能,就像有一个顶级的GPS可用,却选择使用一张几年前的纸质地图。使用旧技术创建的引用无法提供WCF的诸多优势,如指定多个绑定或使用扩展性。
1.2 创建和实现通道工厂
1.2.1 ChannelFactory类简介
ChannelFactory类是WCF中一个强大且优雅的类。根据MSDN的定义,它“创建并管理客户端用于向服务端点发送消息的通道”。实际上,它是一种让客户端以极少的工作量与WCF服务进行交互的便捷方式。它可以独立使用,也可以与应用程序的配置文件结合使用。
1.2.2 ChannelFactory类的构造函数重载
以下是使用 ITestService
接口的ChannelFactory类的构造函数重载示例:
// 默认构造函数,需指定端点信息和行为
ChannelFactory<ITestService> Proxy = new ChannelFactory<ITestService>();
// 接受包含端点配置名称的字符串参数
String endpointConfigName = "wsHttp_BindingConfig";
Ch