什么是 channel 工厂,为什么要使用它?
最佳答案
如果您使用 Visual Studio 的 Add Service Reference
,或 svcutil.exe
工具,您可能永远不会看到 ChannelFactory。
基本上,为 WCF 服务创建客户端代理是一个两步过程:
- 创建合适的
ChannelFactory<T>
针对您的特定服务契约(Contract) - 给定 channel 工厂,创建客户端和服务之间的实际通信 channel
如果您确实可以控制线路的两端,并且可以将服务和数据契约(Contract)放入单独的程序集中,则可以将这两个步骤分开并手动处理:
创建
ChannelFactory<IMyService>
曾经,这是一个相当复杂和耗时的操作,所以如果可能的话,尽量只在真正需要时才这样做,然后缓存 channel 工厂以供以后重用每当您需要与服务器通信时,使用 channel 工厂创建实际 channel
它是 WCF 服务的一个非常具体的构造,所以我认为您永远不会在 WCF 范围之外使用它。
关于c# - .NET 中的 channel 工厂是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479277/