C# 数据如何通过webserice序列化?
我有一个winform客户端,它将对象传递给我的webservice(Oracle服务)C# 数据如何通过webserice序列化?,c#,xml,oracle,C#,Xml,Oracle,我有一个winform客户端,它将对象传递给我的webservice(Oracle服务) <InputDateRange> <DateFrom>2014-01-01</DateFrom> <ScheduledDate>false</ScheduledDate> <DateTo>2014-04-03</DateTo> <DateHence>2 weeks hence</Date
<InputDateRange>
<DateFrom>2014-01-01</DateFrom>
<ScheduledDate>false</ScheduledDate>
<DateTo>2014-04-03</DateTo>
<DateHence>2 weeks hence</DateHence>
</InputDateRange>
2014-01-01
假的
2014-04-03
两周后
DateHenceSpecified是服务的属性,我在C#代码中将bool值设置为false
OracleService.DateHenceSpecified=false
我从我的参考类中看到了这段代码
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool DateHenceSpecified {
get {
return this.dateHenceFieldSpecified;
}
set {
this.dateHenceFieldSpecified = value;
this.RaisePropertyChanged("DateHenceSpecified");
}
}
//
[System.Xml.Serialization.XmlIgnoreAttribute()]
指定的公共布尔值日期{
得到{
返回此.dateHenceFieldSpecified;
}
设置{
this.dateHenceFieldSpecified=值;
本.RaiseProperty变更(“指定日期”);
}
}
searlizer如何知道基于bool值省略此元素
若我在“OracleService.DateHenceSpecified=True”中提到,那个么我得到的值如下所示。我不明白,谁扣动了扳机,哪种元素必须产生
<InputDateRange>
<DateFrom>2014-01-10</DateFrom>
<ScheduledDate>false</ScheduledDate>
<DateHence>1 week hence</DateHence>
</InputDateRange>
2014-01-10
假的
1周后
这里我不明白,谁创建了xml,是客户机还是服务?谁决定在xml中创建哪个元素
如果是客户机,客户机如何知道必须基于bool值创建哪个元素?要序列化的不是属性。如您所见,它在属性上指定了属性XmlIgnore,因此它实际上不会序列化此属性。您应该在引用类DateThouse属性本身(不是DateHenceSpecified)中找到。感谢Michael moore,这对我来说很有意义