wcf datamemberattribute大小写

时间:2009-05-01 17:07:52

标签: c# wcf

在我的WCF服务中,我有一个声明为的属性:

public string PropertyName
{
    get { return propertyName; }
    set { propertyName = value; }
}

在我的客户端中,当我向服务添加服务引用时,导入的.cs文件具有相同的属性,除了它已丢失其外壳,因此:

[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public string propertyName
{
    get
    {
        return this.propertyNameField;
    }
    set
    {
        this.propertyNameField = value;
    }
}

(请注意p上的小写propertyName。)

我能做些什么让消费者真正获得有关预期套管的房产,即:PropertyName,而不是propertyName

2 个答案:

答案 0 :(得分:0)

您是否尝试在DataMember中明确设置名称?例如:

[DataMember(Name="PropertyName")]
public string PropertyName { get { ... } set { ... } }

答案 1 :(得分:0)

您是否正确使用了DataContract属性?还要确保将DataMember应用于属性而不是私有字符串。

[DataContract]
public class DataObject {

    string propertyName;

    [DataMember]
    public string PropertyName {
        get { return propertyName; }
        set { propertyName = value; }
    }
}

该课程的完整代码会有所帮助。