我有一个网络服务:
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?什么时候应该序列化?是否有必要,如果有,那么条件是什么?
答案 0 :(得分:2)
不,你不必这样做。执行引擎会注意到您返回自定义类型并将其序列化为SOAP(!= XML)。
PS:考虑转移到WCF