0

所以我在我的 VS2010 项目中的服务参考有一个奇怪的问题,我真的无法弄清楚。

每当我重建附加服务引用的soap服务时,我都无法再反序列化来自其中一种方法的数据。所有其他方法都有效,但特别是其中一种方法只是填充了空值/默认值,而不是正确的值。我可以确认 Web 服务仍在返回良好的数据并且看起来格式正确。一旦我更新了服务引用,它就会再次工作,直到我重建。

当我去查看结构的差异时,我发现以下文件现在有所不同:

  • 配置.svcinfo
  • 配置91.svcinfo
  • 参考.cs
  • 参考.svcmap
  • 我的服务.disco
  • 我的服务.wsdl

当我查看 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");
        }
    }
4

0 回答 0