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

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

这是我的代码:

[ServiceContract] public interface IProductService { [OperationContract] int InsertProducts(List products); } [DataContract] [KnownType(typeof(List))] public class Product { [DataMember] public int ProductId{ get; set; } [DataMember] public string ProductName{ get; set; } [DataMember] public List Products { get; set; } } 

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

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

当通过WCF发送通用列表时,我们总是创建一个具有列表属性的类。

 [ServiceContract] public interface IProductService { [OperationContract] int InsertProducts(MyListofProducts products); } [DataContract] public class MyListofProducts { [DataMember] List Products { get; set; } } [DataContract] public class Product { [DataMember] public int ProductId{ get; set; } [DataMember] public string ProductName{ get; set; } [DataMember] public List Products { get; set; } }