我在wcf中收到此错误

时间:2016-04-27 16:22:18

标签: c# wcf

当我从服务器检索超过200 000条记录到客户端时,我收到此错误:

  

基础连接已关闭:   预计将保持活动状态的连接已被服务器关闭。

这里出了什么问题?

2 个答案:

答案 0 :(得分:0)

在WCF中,很多事情都可能导致此问题。解决的最佳方法是添加跟踪日志。将以下代码添加到配置文件中以激活跟踪:

    C:\Users\<name>\AppData\Local\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

答案 1 :(得分:0)

正如其他人所说,没有看到任何代码,我们只能猜测,但我在尝试在WCF中发送一个未列举的查询时遇到了类似的问题。

例如,如果你有类似的东西(警告:空气代码!)这个......

var data = ctx.Customers.Where(c => c.CustType == 1);

...并且您尝试从WCF服务方法返回此内容,您将获得您提到的异常。这是因为查询已设置并发送到WCF进行序列化,因为序列化尝试在连接关闭后枚举查询,这会失败。

答案是在返回之前强制查询枚举。您可以通过将.ToList()添加到查询的末尾(以及其他方式)来完成此操作。

正如我所说,没有看到任何代码,这是一个完整的猜测,但我在这些情况下也有同样的例外,所以值得检查。