服务引用无法正确反序列化并在字段中放置null(asp.net到asp.net)

时间:2013-04-26 18:18:05

标签: wcf web-services soap wse

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

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

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

  • Configuration.svcinfo
  • Configuration91.svcinfo
  • Reference.cs
  • Reference.svcmap
  • MyService.disco
  • MyService.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");
        }
    }

0 个答案:

没有答案