Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF中DataMember的Name属性看起来不起作用_C#_Wcf_.net 4.5 - Fatal编程技术网

C# WCF中DataMember的Name属性看起来不起作用

C# WCF中DataMember的Name属性看起来不起作用,c#,wcf,.net-4.5,C#,Wcf,.net 4.5,我将WCF服务公开给多个客户端。在某些客户端数据中,成员名称的大小写不正确。根据大小写标准,我的类属性具有无效的属性名称,如 public class TransactionParamter { [DataMember] public string orderId; [DataMember] public string orderDetails; [DataMember] public double orderSumTotal; } 我试着把它改

我将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的Peropety,而不是我在Name属性中声明的那个。
请帮我改正一下

我相信你忘了用
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;
}