2010-06-17 5 views
3

J'ai un webservice:Pourquoi avons-nous besoin sérialisation en service web

public class Product 
{ 
    public int ProductId { get; set; } 
    public string ProductName { get; set; } 
} 


public class Service : System.Web.Services.WebService 
{ 
    public Service() { 
     //Uncomment the following line if using designed components 
     //InitializeComponent(); 
    } 

    [WebMethod] 
    public List<Product> GetItems() 
    { 
     List<Product> productList = new List<Product>() 
     { 
      new Product{ProductId=1,ProductName="Pencil"}, 
      new Product{ProductId=2,ProductName="Pen"} 
     }; 

     return productList; 
    } 

et dans une application asp.net je suis consommer aime:

 localhost.Service s = new localhost.Service(); 
    List<localhost.Product> k = new List<localhost.Product>(); 
    k = s.GetItems().ToList(); // i am getting the values here. 

maintenant ma question est-ce que je dois sérialiser mon webmethod pendant que je renvoie des types faits sur commande? Quand devrions-nous sérialiser? est-ce nécessaire du tout, si oui, alors quelles sont les conditions?

Répondre

2

Non, vous n'êtes pas obligé de le faire. L'exécution du moteur remarquera que vous renvoyez le type personnalisé et le sérialisez dans SOAP (! = XML) correctement. PS: Pensez à passer à WCF

+0

oui, j'apprends aussi wcf. alors quand exactement nous avons besoin de la sérialisation, pouvez-vous expliquer un peu. – Cloud2010

+0

@ Cloud2010: en cas de service Web/WCF dont nous n'avons pas besoin, le moteur le fait pour nous. La sérialisation est nécessaire lorsque nous souhaitons stocker ou transférer des objets de manière personnalisée. Par exemple si nous voulons enregistrer l'objet dans le fichier. – Andrey

+0

Moteur? Parlez-vous du moteur ASP.net – Cloud2010

Questions connexes