手动WCF和ChannelFactory

时间:2011-01-10 16:47:31

标签: wcf channelfactory

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

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

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

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

这只是ChannelFactory类工作方式的变化(因为这篇文章差不多有两年了)?创建WCF服务代理和可重用性的“最佳实践”是什么?

1 个答案:

答案 0 :(得分:2)

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

我几年来一直在使用(“*”)路线,如果你每个类型只有一个端点,这是一个很好的方法。