WCF 中 DataMember 的名称属性看起来不起作用
Name attribute of DataMember in WCF looks like not working
我向多个客户端公开了 WCF 服务。在某些客户端数据成员名称中,大小写不正确。根据大小写标准,我的 Class 属性有无效的 属性 名称,例如
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;
}
但是当数据成员 Name 属性 看起来不工作时。
我已经尝试过 WCF 测试客户端,并且在使用 WCF 参考时它显示了 OrderId 和 OrderDetails 之类的属性,而不是我在名称属性中声明的那个。
请帮我更正一下
我相信你忘了用 DataContract
装饰你的 class。您需要它才能使自定义数据成员名称起作用。
[DataContract(Name="transactionParamter")]
public class TransactionParamter
{
[DataMember(Name= "orderId")]
public string OrderId;
[DataMember(Name= "orderDetails")]
public string OrderDetails;
[DataMember(Name= "orderSumTotal")]
public double OrderSumTotal;
}
我向多个客户端公开了 WCF 服务。在某些客户端数据成员名称中,大小写不正确。根据大小写标准,我的 Class 属性有无效的 属性 名称,例如
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;
}
但是当数据成员 Name 属性 看起来不工作时。 我已经尝试过 WCF 测试客户端,并且在使用 WCF 参考时它显示了 OrderId 和 OrderDetails 之类的属性,而不是我在名称属性中声明的那个。 请帮我更正一下
我相信你忘了用 DataContract
装饰你的 class。您需要它才能使自定义数据成员名称起作用。
[DataContract(Name="transactionParamter")]
public class TransactionParamter
{
[DataMember(Name= "orderId")]
public string OrderId;
[DataMember(Name= "orderDetails")]
public string OrderDetails;
[DataMember(Name= "orderSumTotal")]
public double OrderSumTotal;
}