C# wcf中的连接意外关闭错误
在调用特定方法时,我在wcf中遇到了臭名昭著的“底层连接意外关闭”错误。如果我在客户机中注释掉这个方法调用,其他调用可以正常工作 根据其他关于这个错误的帖子;主要的两个原因是请求的数据太多,或者返回的数据类型与数据协定不兼容 然而,这两个理由都不适合我的情况。我只请求非常少量的数据(字典中的一小部分字符串)。此外,该方法还返回一个已经可序列化的HybridDictionary(不返回自定义类型) 值得一提的是,返回的HybridDictionary的值是ArrayList类型,但它应该始终包含字符串。ArrayList可能是问题所在吗?如果有的话,有什么建议可以绕过这个问题吗 顺便说一句,如果没有WCF,我可以在控制台项目中调用此方法,而不会出现任何问题。“基础连接意外关闭”错误可能是由多种原因造成的。确定根本原因的最佳方法可能是在客户端应用程序和主机服务上启用WCF跟踪。通常,WCF跟踪日志会显示以前“隐藏”的问题C# wcf中的连接意外关闭错误,c#,.net,wcf,wcf-data-services,C#,.net,Wcf,Wcf Data Services,在调用特定方法时,我在wcf中遇到了臭名昭著的“底层连接意外关闭”错误。如果我在客户机中注释掉这个方法调用,其他调用可以正常工作 根据其他关于这个错误的帖子;主要的两个原因是请求的数据太多,或者返回的数据类型与数据协定不兼容 然而,这两个理由都不适合我的情况。我只请求非常少量的数据(字典中的一小部分字符串)。此外,该方法还返回一个已经可序列化的HybridDictionary(不返回自定义类型) 值得一提的是,返回的HybridDictionary的值是ArrayList类型,但它应该始终包含字
感谢您的链接,但不幸的是,wcf跟踪没有帮助,因为(像其他帖子所说的那样)跟踪没有指向错误的真正原因。最后,我从这篇文章中的一条评论中发现,这个错误的一个原因是wcf不喜欢延迟加载数据结构,因此,如果任何人在wcf中使用Linq,它需要调用ToList或ToArray,以便wcf知道如何进行序列化。