How to send list of objects to WCF service?

11,169

When sending a generic list over WCF we always create a class which has a property which is the 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; } 
} 
Share:
11,169
Master Me Now
Author by

Master Me Now

Updated on June 04, 2022

Comments

  • Master Me Now
    Master Me Now almost 2 years

    I'm building WCF service and I would like to accept List as a parameter to one of my method.

    Here is my code:

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

    When I run service it gives me an error.

    This operation is not supported in the WCF, because it uses NameSpace.Product[]