2009-06-17 62 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