【发布时间】:2013-08-28 10:43:28
【问题描述】:
我真的对 WCF 中的一个场景感到困惑。
我在 WCF 服务“SERVICE1”上有两个操作“OP1”和“OP2”。
有两个客户端在使用“CLIENT1”和“CLIENT2”服务。
条件是“CLIENT1”只能调用“OP1”,而“CLIENT2”只能调用“OP2”。
【问题讨论】:
标签: wcf wcf-security
我真的对 WCF 中的一个场景感到困惑。
我在 WCF 服务“SERVICE1”上有两个操作“OP1”和“OP2”。
有两个客户端在使用“CLIENT1”和“CLIENT2”服务。
条件是“CLIENT1”只能调用“OP1”,而“CLIENT2”只能调用“OP2”。
【问题讨论】:
标签: wcf wcf-security
重构您的服务合同以公开两个端点,其接口仅与使用它的客户端相关:
[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 中的好习惯....
【讨论】: