问题
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[]
回答1:
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; }
}
来源:https://stackoverflow.com/questions/8232595/how-to-send-list-of-objects-to-wcf-service