【发布时间】:2011-06-10 14:50:42
【问题描述】:
假设这个简单的场景: 我的客户有一个已经在工作的 .net 应用程序,他/她想通过 WCF 公开一些功能。所以他给了我一个程序集,其中包含一个公开了 followig 方法的公共类。
OrderDetail GetOrderDetail (int orderId) // Suppose OrderDetail has {ProductId, Quantity, Amount)
现在,我希望 OrderDetail (Amount) 的某些成员不被序列化。 根据http://msdn.microsoft.com/en-us/library/aa738737.aspx,方法是通过 [DataContract] 和 [DataMember]/[IgnoreDataMember] 属性。但是,这不是我的选择,因为我无法修改客户端的源代码。因此,我正在寻找一种方法来指定要在类型定义之外序列化的成员。应该是这样的:
[OperationContract]
[IgnoreMember(typeof(OrderDetail), "Amount" )]
OrderDetail QueryOrder(int orderId){
return OrderDetail.GetOrderDetail(orderId)
}
有什么办法吗? 谢谢, 伯纳贝
【问题讨论】:
标签: wcf datamember datacontracts