我将WCF服务暴露给多个客户端。在某些客户端数据库名称中,外壳不合适。我的类属性根据外壳标准(如
)具有无效的属性名称public class TransactionParamter
{
[DataMember]
public string orderId;
[DataMember]
public string orderDetails;
[DataMember]
public double orderSumTotal;
}
我试图将其更改为
public class TransactionParamter
{
[DataMember(Name= "orderId")]
public string OrderId;
[DataMember(Name= "orderDetails")]
public string OrderDetails;
[DataMember(Name= "orderSumTotal")]
public double OrderSumTotal;
}
但看起来像数据成员名称属性不起作用。 我已经尝试过WCF测试客户端,在进行WCF参考时,它显示了像OrderId和OrderDetails这样的peroperty,而不是我在Name Attribute中声明的那个。 请帮我纠正
答案 0 :(得分:5)
我相信你忘了用DataContract
装饰你的课程。您需要这样才能使自定义数据成员名称起作用。
[DataContract(Name="transactionParamter")]
public class TransactionParamter
{
[DataMember(Name= "orderId")]
public string OrderId;
[DataMember(Name= "orderDetails")]
public string OrderDetails;
[DataMember(Name= "orderSumTotal")]
public double OrderSumTotal;
}