0

我的服务功能如下所示:

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

1 回答 1

1

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

于 2012-10-21T09:01:18.690 回答