我编写了一个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中的结果重复此内容。
结果如何重复出现?运行系统时,我只收到一个错误。
由于
答案 0 :(得分:0)
好的,看起来您的XML序列化正在为您提供PowerManager类的所有公共成员。根据以下划线开头的命名惯例,这些成员应该是私有,如下所示:
private string _CustomerId;
private List<ArrayList> _Power;
您还说“运行系统时,我只收到一个错误。”你得到什么错误?