为什么会使用ChannelFactory来实例化WCF代理而不是服务引用?

Yur*_*han 7 c# wcf

似乎有两种方法来实例化此处描述的WCF服务代理.我的问题是为什么要使用ChannelFactory来实例化WCF代理,这种方法有什么好处?

我遇到了对第二种选择有强烈意见的人,但我无法理解他们的明确论证

Mar*_*ell 4

如果您正在使用程序集共享(也就是说,让我们面对现实,如果您拥有管道的两端,则非常方便),那么两端都已经有了完整的版本(如果接口等)。运行 svcutil 工具似乎是多余的(在命令提示符或通过 IDE)只是为了返回我们已有的包装器。当您只想对接口而不是包装类进行编码,并使用一些集中代码来获取到给定地址的特定接口的通道时,它也非常有效。这实际上就是我主要使用WCF的方式。

“客户端”方法非常适合一次性服务,或者不需要通过任何中央工具的情况。它还可以制作非常简单的演示。