使用List,ErrorCode:10054时出现WCF错误

时间:2012-05-22 07:29:43

标签: c# wcf

使用List时

WCF错误:

  

“无法从传输连接中读取数据:现有数据   连接被远程主机强行关闭“    尝试从WCF服务返回列表时。

请注意;  1.我的业务对象Bank设置为KnownTypeAttribute,如[ServiceKnownType(typeof(ProjectName.Bo.Bank))]

  1. 我可以从WCF服务返回对象库

  2. 我的内部异常错误层次结构就像 例外:基础连接已关闭:接收时发生意外错误。

  3. InnerException:无法从传输连接读取数据:远程主机强行关闭现有连接

    InnerException:远程主机强制关闭现有连接

    1. 我尝试了[ServiceKnownType(typeof(System.Collections.IList))]
    2. 总之,我遇到错误,而WCF客户端试图接收return List<Bank>请任何机构有一些建议吗?

2 个答案:

答案 0 :(得分:0)

不是很确定,但是在返回泛型类时不应该使用泛型接口吗? IList<T>而不是IList ..

答案 1 :(得分:0)

解决!!这是一个ServiceKnownType问题。在已知类型加载器中,我们必须添加运行时类型,如;

Type aaa =  Type.GetType("System.Collections.Generic.List`1[[ProjectName.BusinessObjects.Bank, ProjectName.BusinessObjects, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null]]");

knownTypes.Add(AAA);

任何有同样问题的人都可以试试这个。它在我的环境中工作!!