0

使用 List 时出现 WCF 错误:

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

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

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

  2. 我的内部异常错误层次结构类似于异常:底层连接已关闭:接收时发生意外错误。

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

InnerException:一个现有的连接被远程主机强行关闭

  1. 我试过了[ServiceKnownType(typeof(System.Collections.IList))]

简而言之,当 WCF 客户端尝试接收时,我遇到了错误,return List<Bank>请任何人提出一些建议?

4

2 回答 2

0

not realy sure about it, but shouldnt you use generic interface when returning generic class? IList<T> instead of IList..

于 2012-05-22T07:36:19.990 回答
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);

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

于 2012-05-23T05:42:21.383 回答