有些时候客户端不添加wcf服务引用,而是通过channel工厂与wcf服务建立连接。我想在使用频道工厂或添加服务参考时详细了解wcf服务如何在客户端获取wcf服务元数据。我搜索谷歌很多人都知道并深入编写,但没有得到一个。所以请将我重定向到正确的文章,该文章详细讨论了客户端的wcf服务发现。
wcf service add reference& amp;通过渠道工厂创建代理?
我想当我们使用频道工厂创建wcf代理时,每当我们运行app时,每次创建代理时。所以我认为这个过程比添加服务引用慢,因为当我们添加服务引用时,代理只创建一次。
什么时候应该去使用渠道工厂。请告诉我当渠道工厂是最好的选择时的情况。感谢
答案 0 :(得分:0)
实际上差别很小。如果查看“添加服务引用”创建的代码,您将看到它在内部使用ChannelFactory。
了解使用“添加服务参考”或手动执行此操作时所发生情况的最佳资源是Miguel Castro's WCF the Manual Way…the Right Way
另外,您可以阅读"Adding Behaviors to the Runtime"的Extending WCF with Custom Behaviors部分,它解释了如何处理元数据。
基本上,当您托管服务时(通过新建ServiceHost显式创建ServiceHost,或者当您在IIS中托管服务并且它由处理.svc文件的IHttpHandler创建)时,首先读取类型(查找对于属性)然后是配置文件(web / app.config)。客户端也会发生同样的情况,尽管在客户端的合约界面中注释并不常见。