2009-06-17 6 views
0

J'ai écrit un service Web ASP.NET.Pourquoi mon service Web XML ASP.NET renvoie-t-il des résultats qui se répètent?

Il ressemble à ceci:

 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]; 

La classe PManager ressemble à ceci:

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; 
     } 
    } 

Quand je lance, je reçois une répétition des résultats, comme suit:

<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> 

Cependant, il n'y a pas de valeurs en double stockées (par exemple, je stocke le nom du client dans une collection, mais seulement une fois - compte de 1). Il n'y a pas de doublons stockés lorsque j'appelle getState(). Cette méthode renvoie une collection et contient une valeur, mais les résultats en XML en ont une répétition.

Comment les résultats semblent se répéter? Lors de l'exécution du système, j'ai seulement une erreur.

Merci

+0

Pourriez-vous poster le code de votre classe PowerManager afin que nous puissions voir ce qu'il fait? Vos résultats XML ne s'affichaient pas correctement après la publication de la question. Assurez-vous qu'il est indenté avec 4 espaces afin qu'il apparaisse comme XML. – CoderDennis

Répondre

0

OK, ressemble à votre sérialisation XML vous donne tous les membres du public de votre classe powermanager. Sur la base de la convention de nommage de commencer par un trait de soulignement, les membres devraient être , comme privé ceci:

private string _CustomerId; 

private List<ArrayList> _Power; 

Vous aussi état « Lors de l'exécution du système, je ne vous donne qu'une erreur. » Quelle erreur obtenez vous?

+0

Désolé, l'erreur est un champ. Ne vous inquiétez pas à ce sujet mais vous avez répondu à ma question initiale :) – dotnetdev

Questions connexes