2009-06-17 37 views
0

我写了一个ASP.NET Web服务。为什么我的XML 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

您可以发布您的PowerManager类的代码,以便我们可以看到它在做什么?在发布问题后,您的结果XML也无法正确显示。确保它用4个空格缩进,所以它显示为XML。 – CoderDennis 2009-06-17 22:20:29

回答

0

好吧,看起来像你的XML序列化给你所有的PowerManager类的公共成员。基于以下划线开始的命名规则,这些成员应私人,像这样的:“当运行的系统,我只得到一个错误”

private string _CustomerId; 

private List<ArrayList> _Power; 

你也状态你遇到了什么错误?

+0

对不起,错误是一个字段。不要担心,但你回答我的原始问题:) – dotnetdev 2009-06-18 19:16:58