为什么我的XML ASP.NET Web服务会返回重复的结果?

时间:2009-06-17 22:00:44

标签: web-services

我编写了一个ASP.NET Web服务。

看起来像这样:

        WebServices.logic pLogic = new WebServices.logic();



        WebServices.manager[] pManager = new PowerManager[1];


        pManager[0] = new PowerManager();

        pManager[0].CustomerId = "sjsjshd";
      pManager[0].state = pLogic.getState("sasj");



        return pManager[0];

pManager类如下所示:

public string _CustomerId;

    public int PowerStatus;

    public List<ArrayList> _Power;

    public string CustomerId
    {
        get
        {
            return _CustomerId;
        }

        set
        {


      _CustomerId = value;
        }
    }


    public List<ArrayList> Power
    {
        get
        {
            return _Power;
        }

        set
        {
            _Power = value;
        }
    }

当我运行它时,我会重复结果,如下所示:

<p>
<_CustomerId>sjsjshd</_CustomerId>
<pStatus>0</PowerStatus>
−
<_p>
−
<ArrayOfAnyType>
<anyType xsi:type="xsd:int">1</anyType>
</ArrayOfAnyType>
<ArrayOfAnyType/>
</_p>
<CustomerId>sjsjshd</CustomerId>
−
<p>
−
<ArrayOfAnyType>
<anyType xsi:type="xsd:int">1</anyType>
</ArrayOfAnyType>
<ArrayOfAnyType/>
</p>
</pManager>

但是,没有存储重复值(例如,我将客户端名称存储在集合中,但只存储一次 - 计数为1)。调用getState()时没有存储重复项。此方法返回一个集合,它包含一个值,但XML中的结果重复此内容。

结果如何重复出现?运行系统时,我只收到一个错误。

由于

1 个答案:

答案 0 :(得分:0)

好的,看起来您的XML序列化正在为您提供PowerManager类的所有公共成员。根据以下划线开头的命名惯例,这些成员应该是私有,如下所示:

private string _CustomerId;

private List<ArrayList> _Power;

您还说“运行系统时,我只收到一个错误。”你得到什么错误?