0

我正在做一个 WCF 项目,如果我以正确的方式做的话,我想了解如何设计这些类。目前我有 2 个接口 IUser 和 ICase,在 2 个单独的类文件(IUser.cs 和 ICase.cs)中,为了便于阅读,我想将它们分开。在实现它们时,我正在构建一个实现它们的部分类,因此我还有另外两个文件 User.cs 和 Case.cs,它们的实现如下:

public partial class AppService : ICase

public partial class AppService : IUser

这样,实现又是分开的。在构建 web.config 文件的端点时,我为每个合约设置了 2 个单独的端点。

<endpoint address="" binding="wsHttpBinding" contract="AppService.ICase" />
<endpoint binding="wsHttpBinding" contract="AppService.IUser" />

我的问题是这通常是如何完成的?或者有没有办法将它组合起来,所以只有 1 个端点,而不是 2 个?我想将它们保留在单独的接口中,但如果我稍后添加更多接口,我是否需要继续添加更多端点以公开该功能,或者有没有办法拥有多个接口但只有一个端点公开它们?

4

1 回答 1

1

WCF 中关于合同的唯一限制是您应该有一个明确的合同。但是您可以自由地将多个接口组合为一个:

public interface ICombinedInterface : ICase, IUser 

并将组合接口用作您的服务合同。

问题:“是否应该有一个或多个端点?” 没有一个简单的答案。这取决于您的要求和优先级。从客户的角度来看,这应该无关紧要。

于 2013-02-12T19:53:09.233 回答