如何发送对象的名单WCF服务? [英] How to send list of objects to WCF service?

查看:181
本文介绍了如何发送对象的名单WCF服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立WCF服务,我愿意接受列表作为参数传递给我的方法之一

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

下面是我的代码:

[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.

这是操作中没有WCF的支持,因为它使用 NameSpace.Product []

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

推荐答案

在发送一个泛型列表在WCF我们总是创造出有一个属性是列表中的一类。

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

这篇关于如何发送对象的名单WCF服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆