channel factory如何获取wcf服务元数据

channel factory如何获取wcf服务元数据,wcf,channelfactory,service-discovery,Wcf,Channelfactory,Service Discovery,有时,客户端不添加wcf服务引用,而是通过通道工厂与wcf服务建立连接。我想详细了解何时使用channel factory或添加服务引用,然后了解wcf服务如何在客户端获取wcf服务元数据。我在谷歌上搜索了很多信息,并进行了深入的评论,但没有得到一篇。所以,请将我重定向到右边的文章,这篇文章详细讨论了客户端的wcf服务发现 wcf服务添加引用和通过channel factory创建代理之间有什么区别 我猜当我们用channel factory创建wcf代理时,每次运行应用程序时,每次创建代理时。

有时,客户端不添加wcf服务引用,而是通过通道工厂与wcf服务建立连接。我想详细了解何时使用channel factory或添加服务引用,然后了解wcf服务如何在客户端获取wcf服务元数据。我在谷歌上搜索了很多信息,并进行了深入的评论,但没有得到一篇。所以,请将我重定向到右边的文章,这篇文章详细讨论了客户端的wcf服务发现

wcf服务添加引用和通过channel factory创建代理之间有什么区别

我猜当我们用channel factory创建wcf代理时,每次运行应用程序时,每次创建代理时。所以我认为这个过程比添加服务引用慢,因为当我们添加服务引用时,代理只创建一次


什么时候我们应该去使用渠道工厂。请告诉我什么时候渠道工厂是最好的选择。谢谢

实际上没有什么区别。如果您查看AddServiceReference创建的代码,您将看到它在内部使用ChannelFactory

了解使用“添加服务引用”或手动添加服务引用时发生的情况的最佳资源是

另外,您可以阅读的部分,它解释了元数据是如何处理的


基本上,当您托管服务时(通过更新ServiceHost显式地创建ServiceHost,或者当您在IIS中托管服务并由处理.svc文件的IHttpHandler创建服务时),首先读取类型(查找属性),然后读取配置文件(web/app.config)。在客户端也会发生同样的情况,尽管在客户端的合同界面中添加注释并不常见。

何时使用channel factory请告诉我正确的情况。thanks@Thomas在我看来,使用ChannelFactory总是更好的,因为如果您使用Add Service Reference,正如Miguel Castro所解释的,它会添加很多您可能不需要的东西(例如,数据源,web.config中的很多东西,只是作为一个示例)。