在我的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
?
答案 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; }
}
}
该课程的完整代码会有所帮助。