Почему мой веб-сервис XML ASP.NET возвращает результаты, которые повторяются? - PullRequest
0 голосов
/ 18 июня 2009

Я написал веб-сервис ASP.NET.

Это выглядит так:

        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 голосов
/ 18 июня 2009

ОК, похоже, что ваша сериализация XML дает вам всех открытых членов вашего класса PowerManager. Исходя из соглашения об именах, начинающегося с подчеркивания, эти члены должны быть private , например:

private string _CustomerId;

private List<ArrayList> _Power;

Вы также заявляете: «При запуске системы я получаю только одну ошибку». Какую ошибку вы получаете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...