【发布时间】:2013-06-01 07:26:48
【问题描述】:
这是场景,假设我有一个 OperationContract GetEmployeeDetails,它返回 Employee 类。
class Employee
{
public int EmpId { get; set; }
public string EmpName { get; set; }
public string Salary{ get; set; }
}
现在我有两个客户,分别是 HR 和经理。
Manager 客户端创建代理时,不应暴露薪水属性。 当 HR 客户端创建代理时,salary 属性应该被暴露。
我正在使用 WCF 服务,无法实现 REST,对客户端没有任何控制。
不能使用接口来实现这一点,因为实际的实体非常复杂,有多个内部类。
请告诉我,有什么方法可以实现。
【问题讨论】:
-
为什么不定义单独的服务合同
-
1.服务合同级别没有变化。 2. 我可能有大约 10 个客户需要限制 DataMembers,在这种情况下,我将创建 10 个服务合同甚至更多 DataContracts。
-
我的意思是您定义了具有适当规范的单独服务合同,您在问题中提到了什么。在客户端使用特定的服务合同
标签: wcf