.net 多个客户端的流畅WCF(代码内)配置/托管?
在代码中配置WCF不需要更多地耦合模型库和服务库吗 如果我理解正确,您可以在与使用的服务相同的项目中用代码配置主机。然后在客户端上配置通道,但是客户端必须知道模型,这意味着如果有多个客户端应用程序使用该服务,它们都必须引用模型(或您正在使用的任何东西)程序集.net 多个客户端的流畅WCF(代码内)配置/托管?,.net,wcf,.net,Wcf,在代码中配置WCF不需要更多地耦合模型库和服务库吗 如果我理解正确,您可以在与使用的服务相同的项目中用代码配置主机。然后在客户端上配置通道,但是客户端必须知道模型,这意味着如果有多个客户端应用程序使用该服务,它们都必须引用模型(或您正在使用的任何东西)程序集 因此,我认为在涉及多个客户端时,代码配置/托管不是最佳选择?您可以从代码配置WCF,而无需创建比使用配置文件更多的耦合 我喜欢使用以下分区: 服务器: 一个用于数据协定(型号/DTO)的程序集 一个用于服务契约(WCF接口)的程序集 一个
因此,我认为在涉及多个客户端时,代码配置/托管不是最佳选择?您可以从代码配置WCF,而无需创建比使用配置文件更多的耦合 我喜欢使用以下分区: 服务器:
- 一个用于数据协定(型号/DTO)的程序集
- 一个用于服务契约(WCF接口)的程序集
- 一个用于服务实现的程序集
- 一个用于服务主机创建逻辑的程序集。该程序集将包含一个类(WCFHostsLoader),该类实例化所有端点的服务主机
- 一个连接WCF主机的程序。在ASP.Net下,可能是Globas.asax。在Globas.asax中,可以调用WCFHostsLoader.Configure()
我希望这有帮助Fluent不是从代码而不是从配置文件进行配置;它是关于通过创建某种内部DSL来使用提供特定编程风格的API。据我所知,WCF没有流畅的API。是的,这两个也是我想到的。我同意WSDL代理很难看,但它确实与其他程序集解耦,而不必每次发生变化时都在多个客户端中更新程序集引用。使用WSDL时,依赖性也非常强。如果您更改WSDL,很可能是一个突破性的更改。因此,确实不必在多个客户端中更新程序集引用,但必须在多个客户端中重新生成服务引用(代理)。如果您控制客户端应用程序,更新程序集可能比重新生成代理类更快更容易。谢谢您的回复。是的,我同意也必须更新服务引用,但是对于位于不同服务器上的应用程序,我认为更新服务引用比手动移动程序集更容易。这不是很大的区别,但仍然是一个区别。我宁愿不处理WCF,而是处理多个客户端和不同的服务器,这可能是最好的。