c# - .NET 中的 channel 工厂是什么?

标签 c# wcf remoting

什么是 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/

相关文章:

c# - SQL Server Compact 3.5 如何使应用程序自增 id?

c# - System.Net.Webclient 不工作 'WebClient' 找不到

c# - 在 Azure 服务器和 UWP 客户端上实现 WebSocket

.net - 在 .Net 中进行 RPC 的优化方法

wcf - 企业服务总线和消息代理

c# - 如何使用 WCF 获取对已实例化的远程对象的引用?

c# - gmap.net 上的多个标记

c# - 如何从 WPF 应用程序线程显示 WinForms 模式对话框

jquery - 如何使用 jquery Ajax 将数据发布到 WCF 服务?

c# - 通过 WCF 服务使用连接字符串建立与 Azure SQL 数据库的连接时出现问题