WCF datamemberattribute外壳

问题描述:

在我的WCF服务我有一个属性声明这样的:WCF datamemberattribute外壳

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; 
    } 
} 

(注意小写ppropertyName

是否有任何物品我可以这样做,消费者实际上得到的财产与预期的箱体,即:PropertyName,而不是propertyName

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

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

你好斯科特。我只是试了一下你的方法,很抱歉,但没有奏效。 感谢您的帮助。 Steven – stevenrosscampbell 2009-05-01 17:23:28

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

[DataContract] 
public class DataObject { 

    string propertyName; 

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

该类的完整代码将有所帮助。