WCF运营合同可用性

WCF运营合同可用性,wcf,Wcf,这个问题是在面试时提出的。 比如说我有合同 [ServiceContract] public interface IMyService { [OperationContract] void methodForClientA(); [OperationContract] void AnothermethodForClientA(); [OperationContract] void methodForClientB(); [OperationContra

这个问题是在面试时提出的。 比如说我有合同

[ServiceContract]
public interface IMyService
{
  [OperationContract]
  void methodForClientA();

   [OperationContract]
   void  AnothermethodForClientA();

   [OperationContract]
   void methodForClientB();

  [OperationContract]
  void  AnothermethodForClientB();
}
当客户访问合同时,它应该只看到操作合同

void methodForClientA(),void  AnothermethodForClientA().

在WCF中有可能吗?

您不能阻止客户端A和客户端B看到彼此的方法,因为它们都在同一个合同中定义

[ServiceContract]
public interface IMyService
{
  [OperationContract]
  void methodForClientA();

   [OperationContract]
   void  AnothermethodForClientA();

   [OperationContract]
   void methodForClientB();

  [OperationContract]
  void  AnothermethodForClientB();
}
但是,您可以使用WCF的安全机制阻止客户端A和客户端B调用彼此的方法

或者,您可以有两个独立的服务,每个服务对客户端都是唯一的

编辑

我想得越多,就越倾向于在这种情况下使用单独的服务选项。如果您有特定于每个客户机的方法,那么实际上您有单独的服务,每个服务都特定于特定的客户机