繁体   English   中英

WCF服务调用WCF服务-将客户端服务引用放在哪里?

[英]WCF Service calling WCF Service - Where to put client service reference?

我正在考虑实现WCF服务,该服务将依次调用一个(或更多)外部WCF服务(或者至少是我将使用WCF服务引用从代码中调用的Web服务)

我的解决方案分为ServiceLayer,BusinessLogicLayer,DomainLayer,DtoObjects等。

我的问题是:
围绕客户端的逻辑将全部放在BusinessLogicLayer中-但是如果我将ServiceReferences放在其中,那么我还需要将服务配置放在ServiceLayer中-因为这是发起调用的地方。

那是正确的事情吗?

要么:
在ServiceLayer中创建客户端,并将其传递到BLL。
不确定我是否喜欢这个主意...但这确实意味着仅一个配置。

要么:
还有另一种方法吗?

您可以将其视为任何调用WCF服务的代码都是WCF客户端,即使这恰好是本身作为WCF服务托管的另一段代码。 因此,无论在何处进行呼叫,您都需要存在客户端配置并可用。 我不知道是否存在共享配置的好方法,或者甚至建议这样做……相反,我会在每个地方选择单独的配置文件。 其实并没有太多重复,因为您将服务端配置放在一个位置,将客户端配置放在另一位置。

如果可以使用WCF发现(http://msdn.microsoft.com/zh-cn/library/dd456782.aspx),则可以减少必须创建的配置量。 另外,使用接口和ChannelFactory<T>代替ServiceReferences将使您的设置更加简洁。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM