.NET 中的通道工厂是什么?
什么是渠道工厂以及为什么使用它?
What is a Channel Factory and why do you use it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
什么是渠道工厂以及为什么使用它?
What is a Channel Factory and why do you use it?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
如果您使用 Visual Studio 的
添加服务引用
或svcutil.exe
工具,您可能永远不会看到 ChannelFactory。基本上,为 WCF 服务创建客户端代理是一个两步过程:
ChannelFactory
如果您确实可以控制线路的两端,并且可以将服务和数据协定放入单独的程序集中,则可以分解这两个步骤过程并手动处理:
创建
ChannelFactory
一次,这是一个相当复杂且耗时的操作,因此,如果可能的话,尝试仅在真正必要时才执行此操作,然后缓存通道工厂以供以后重用每当需要与服务器通信时使用通道工厂创建实际通道
这是 WCF 服务的一个非常具体的构造,所以我不'您不会认为您会在 WCF 范围之外使用它。
If you used Visual Studio's
Add Service Reference
, or thesvcutil.exe
tool, you probably won't ever see a ChannelFactory.Basically, creating the client-side proxy for a WCF service is a two-step process:
ChannelFactory<T>
for your specific service contractIf you do have control over both ends of the wire, and you can put your service and data contracts into a separate assembly, you can break apart this two step process and handle it manually:
create the
ChannelFactory<IMyService>
once, this is a fairly complex and time-consuming operation, so if ever possible, try to do this only when really necessary, and then cache the channel factory for later reusecreate the actual channel using the channel factory whenever you need to communicate with the server
It's a very specific construct for WCF services, so I don't think you'll ever use it outside the WCF scope.
ChannelFactory 类用于在客户端和服务之间构建通道,而不需要代理。在某些情况下,您可能拥有与客户端应用程序紧密绑定的服务。在这种情况下,您可以直接引用 Interface DLL 并使用 ChannelFactory 来调用您的方法。
我建议您还了解代理和通道工厂之间的区别。这将帮助您了解 Channel Factory 的准确使用。
ChannelFactory class is used to construct a channel between the client and the service without the need of a proxy. In some cases, you may have a service that is tightly bound to the client application. In such a case, you can reference the Interface DLL directly and use ChannelFactory to call your methods using that.
I suggest you also go thru the difference between Proxy and Channel factory. this will help you in understanding of exact use of Channel Factory.