我刚刚开始使用WCF,并使用了Miguel A.Castro发布的一篇名为WCF the Manual Way的旧文章。在文章中,他提到了使用ChannelFactory创建服务代理。在这篇文章中,他展示了创建代理的代码:
IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>().CreateChannel();当我尝试将该代码与在web.config中配置的端点一起使用时,我一直收到有关该端点为空的错误。显然,如果我在ChannelFactory构造函数上指定端点的名称,它就可以工作,但这似乎不是可重用性的最佳选择。但如果我这样做,它似乎也会起作用:
IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>("*").CreateChannel();这仅仅是改变了ChannelFactory类的工作方式吗(因为这篇文章已经有两年的历史了)?创建WCF服务代理和可重用性的“最佳实践”是什么?
发布于 2011-01-11 01:54:09
我不能代表原文发言,但也许这只是作者的疏忽?据我所知,您的帖子中的第二个列表一直是使用配置文件创建通道的方法。传递*将使用文件中通道类型的默认/第一个配置。如果同一类型有多个命名配置,您还可以传递特定的名称,而不是*。
我已经使用("*")路线好几年了,如果每个类型只有一个端点,这是一个很好的方法。
https://stackoverflow.com/questions/4649172
复制相似问题