所以我的VS2010项目中的服务参考有一个奇怪的问题,我无法弄明白。
每次重建服务引用附加到的soap服务时,我都无法再从其中一种方法反序列化数据。所有其他方法都可以工作,但其中一个方法只是填充了null / default值而不是正确的值。我可以确认Web服务仍然返回了良好的数据,并且看起来格式正确。一旦我更新了服务参考,它一直有效,直到我重建。
当我去看结构的差异时,我发现以下文件现在不同了:
当我查看wsdl时,它看起来几乎就像字段被重新排序一样。但我不明白这是怎么可能的。
以下是我的网络服务的标题信息
[WebService(Namespace = http://myservice/)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[Policy("ServerPolicy")]
任何人都知道为什么每次重建都会发生这种情况?
编辑:这是一个例子。
例如,这里是一个随机更改,此类未更改,只是重新编译:
在:
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order=0)]
public string Userid {
get {
return this.useridField;
}
set {
this.useridField = value;
this.RaisePropertyChanged("Userid");
}
}
之后:
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order=2)]
public string Userid {
get {
return this.useridField;
}
set {
this.useridField = value;
this.RaisePropertyChanged("Userid");
}
}