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;
}
}
(注意小写p
上propertyName
)
是否有任何物品我可以这样做,消费者实际上得到的财产与预期的箱体,即:PropertyName
,而不是propertyName
?
答
您是否曾尝试明确设置DataMember中的名称?例如:
[DataMember(Name="PropertyName")]
public string PropertyName { get { ... } set { ... } }
答
您是否正确使用了DataContract属性?另外请确保您将DataMember应用于属性,而不是私有字符串。
[DataContract]
public class DataObject {
string propertyName;
[DataMember]
public string PropertyName {
get { return propertyName; }
set { propertyName = value; }
}
}
该类的完整代码将有所帮助。
你好斯科特。我只是试了一下你的方法,很抱歉,但没有奏效。 感谢您的帮助。 Steven – stevenrosscampbell 2009-05-01 17:23:28