将列表传递给WCF中的客户端

时间:2012-10-21 08:56:29

标签: c# wcf entity-framework list

我的服务功能如下:

    public List<X> GetAll(string num)
    {
       TheContext  Mycontext = new TheContext();
        IEnumerable<X> MyIEnumerable =
     ((IObjectContextAdapter)Mycontext)
     .ObjectContext.ExecuteStoreQuery<X>("select * from dbo.XXX where y='"+num+"'");

        List<X> MyList = MyIEnumerable.ToList();
        return MyList;
    }

这里列表OK。

我的客户看起来像这样:

static void Main(string[] args)
    {
        MyClient proxy = new MyClient ();
        List<X> MyClientList = proxy.GetAll("980").ToList();
        proxy.Close();
        Console.ReadLine();
    }

这里有错误:

接收HTTP响应时发生错误。这可能是由于服务端点绑定不使用HTTP协议。这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。

如果我从这个函数返回这个工作:

public List<X> GetAll(string num)
 {
   List<x> MyList= new List<x>();
   MyList.Add(new X(){...});
   MyList.Add(new X(){...});
   MyList.Add(new X(){...});   
    return MyList;
 }

1 个答案:

答案 0 :(得分:1)

您是否真的在方法签名中使用object类型? 您应该检查返回类型是否为Serializable并标记为DataContract属性。 可能这就是问题所在。