1

有时客户端不会添加 wcf 服务引用,而是通过通道工厂与 wcf 服务建立连接。我想详细了解当我们使用通道工厂或添加服务引用时,wcf 服务如何在客户端获取 wcf 服务元数据。我在谷歌上搜索了很多内容并进行了深入的撰写,但没有找到。所以请将我重定向到正确的文章,该文章详细讨论了客户端的 wcf 服务发现。

wcf 服务添加引用和通过通道工厂创建代理有什么区别?

我猜当我们使用通道工厂创建 wcf 代理时,然后每次运行应用程序时,然后每次创建代理时。所以我认为这个过程比添加服务引用要慢,因为当我们添加服务引用时,代理只创建一次。

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

4

1 回答 1

0

其实差别很小。如果您查看 Add Service Reference 创建的代码,您会发现它在内部使用 ChannelFactory。

了解使用 Add Service Reference 或自己手动操作时会发生什么的最佳资源是Miguel Castro 的WCF the Manual Way...the Right Way

此外,您可以阅读使用自定义行为扩展 WCF的“将行为添加到运行时”部分,它解释了如何处理元数据。

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

于 2014-02-07T14:39:56.080 回答