这个问题是在面试时提出的。 说我有合同。
[ServiceContract]
public interface IMyService
{
[OperationContract]
void methodForClientA();
[OperationContract]
void AnothermethodForClientA();
[OperationContract]
void methodForClientB();
[OperationContract]
void AnothermethodForClientB();
}
当客户A访问合同时,它应该只能看到操作合同
void methodForClientA(),void AnothermethodForClientA().
可以在WCF中使用吗?
答案 0 :(得分:2)
您不能让客户A和客户B看不到彼此的方法,因为它们都是在同一合同中定义的。
但是,您可以使用WCF的安全机制,使客户端A和客户端B保持调用彼此的方法。
或者,您可以拥有两个单独的服务,每个服务对客户端都是唯一的。
修改
我想的越多,我就越喜欢这种场景的单独服务选项。如果您为每个客户端提供特定方法,那么您确实拥有单独的服务,每个服务都特定于特定客户端。