如何发送对象列表到WCF服务

本文关键字:WCF 服务 列表 何发送 对象 | 更新日期: 2023-09-27 18:15:22

我正在构建WCF服务,我想接受List作为我的方法之一的参数。

下面是我的代码:
[ServiceContract]
public interface IProductService
{
    [OperationContract]
    int InsertProducts(List<Product> products);
}
[DataContract]
[KnownType(typeof(List<Product>))]
public class Product
{
    [DataMember]
    public int ProductId{ get; set; }
    [DataMember]
    public string ProductName{ get; set; }
    [DataMember]
    public List<Product> Products { get; set; }
}

当我运行service时,它给了我一个错误。

WCF中不支持此操作,因为它使用NameSpace.Product[]

如何发送对象列表到WCF服务

当通过WCF发送泛型列表时,我们总是创建一个类,它的属性是list。

[ServiceContract] 
public interface IProductService 
{ 
    [OperationContract] 
    int InsertProducts(MyListofProducts products); 
 } 

[DataContract] 
public class  MyListofProducts
{
    [DataMember] 
    List<Product> Products { get; set; }
 }
[DataContract] 
public class Product 
{ 
    [DataMember] 
    public int ProductId{ get; set; } 
    [DataMember] 
    public string ProductName{ get; set; } 
    [DataMember] 
    public List<Product> Products { get; set; } 
}