为什么我们需要在Web服务中进行序列化

时间:2010-06-17 16:28:28

标签: asp.net web-services xml-serialization

我有一个网络服务:

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

在asp.net应用程序中,我正在使用它:

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

现在我的问题是,当我返回自定义类型时,我是否需要序列化我的webmethod?什么时候应该序列化?是否有必要,如果有,那么条件是什么?

1 个答案:

答案 0 :(得分:2)

不,你不必这样做。执行引擎会注意到您返回自定义类型并将其序列化为SOAP(!= XML)。

PS:考虑转移到WCF