2011-01-10 40 views
2

我刚刚开始使用WCF,并使用由Miguel A. Castro发布的旧文章,名为WCF the Manual Way。在文章中他提到使用ChannelFactory创建服务代理。在文章中,他显示了这个代码来创建代理:手动WCF和ChannelFactory

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

当我尝试使用与在web.config配置端点的代码,我不断收到关于此端点的是零误差。如果我在ChannelFactory构造函数中指定了端点的名称,但它看起来很有效,但这似乎不是重用性的最佳选择。但是,这也似乎工作,如果我这样做:

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

这只是一个变化是如何的ChannelFactory类作品(因为文章已经快2岁)?什么是创建WCF服务代理和可重用性的“最佳实践”?

+0

你可以**向我们展示**你的web.config?它是否在部分内引用了** IProductAdmin **接口?你的方法似乎没问题,我可以从你的代码中知道... – 2011-01-10 17:06:15

+0

如果你还没有 - 你还必须观看米格尔卡斯特罗称为“极端WCF”的DNR电视节目 - 强烈推荐! http://www.dnrtv.com/default.aspx?showNum=122 – 2011-01-10 17:07:05

回答

2

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

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

相关问题