我正在阅读WCF教程并发现这些关键点指出我可以使用mex端点来允许隐式地向客户端添加服务引用。我想这允许VS在使用生成的WSDL文件时创建代理类?
然而,我试图让自己熟悉的代码库不使用隐式服务引用。相反,客户可以访问DuplexChannelFactory。 通过显式ChannelFactories与隐式服务引用进行服务通信有哪些好处?
这里提出的问题(How to re-write WCF client to use ChannelFactory instead of service reference)提到公司选择ChannelFactories而不是服务参考,但没有提到原因。
答案 0 :(得分:5)
何时使用ChannelFactories而不是服务引用
除非没有其他选项,否则始终使用ChannelFactory。我不能强烈地说明这一点。服务参考是
您可能希望使用服务引用的唯一原因:
如果你有权访问服务定义和契约类型,可以说你应该使用服务引用,但是它们是在一些超级程序集中定义的,其中包含许多你没有用过的东西。但是,我发现这有问题,因为在这种情况下,您可以重新创建服务定义和类型,并利用WCF对合同等效性的尊重。