我对WCF中的一个场景感到困惑。
我在WCF服务“SERVICE1”上有两个操作“OP1”和“OP2”。
有两个客户端正在使用服务“CLIENT1”和“CLIENT2”。
条件是“CLIENT1”只能在“CLIENT2”被限制为“OP2”时调用“OP1”。
答案 0 :(得分:1)
重构您的服务合同以公开两个端点,其接口仅与使用它的客户端相关:
[ServiceContract]
public interface IService1
{
[OperationContract]
void OperationOne();
}
[ServiceContract]
public interface IService2
{
[OperationContract]
void OperationTwo();
}
public class MyServcie: IService1, IService2
{
//Implementation here...
}
这样IService1
的客户端甚至不知道IService2
上的方法是否存在。
这不仅限于WCF - 这也是OOP的好习惯....