【问题标题】:Manual WCF and ChannelFactory手动 WCF 和 ChannelFactory
【发布时间】:2023-03-25 20:06:02
【问题描述】:

我刚刚开始使用 WCF,并且正在使用 Miguel A. Castro 发布的一篇名为 WCF the Manual Way 的旧文章。在文章中他提到使用 ChannelFactory 创建服务代理。在文章中,他展示了创建代理的代码:

IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>().CreateChannel();

当我尝试将该代码与 web.config 中配置的端点一起使用时,我不断收到有关此端点为空的错误。 Obvioulsy 如果我在 ChannelFactory 构造函数上指定端点的名称,它会起作用,但这似乎不是可重用性的最佳选择。但如果我这样做似乎也有效:

IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>("*").CreateChannel();

这只是 ChannelFactory 类工作方式的改变(因为这篇文章已经快 2 年了)?创建 WCF 服务代理和可重用性的“最佳实践”是什么?

【问题讨论】:

标签: wcf channelfactory


【解决方案1】:

我不能代表原创文章,但也许​​这只是作者的疏忽?据我所知,您帖子中的第二个列表一直是使用配置文件创建频道的方式。传递 * 将使用文件中通道类型的默认/第一个配置。如果您有多个相同类型的命名配置,您还可以传递特定名称而不是 *。

我已经使用 ("*") 路由好几年了,如果您只打算每种类型有一个端点,这是一个很好的方法。

【讨论】:

  • 有这方面的文档吗?
猜你喜欢
  • 1970-01-01
  • 2012-10-25
  • 2011-12-12
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 2011-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多