WCF无法从传输连接中读取数据

tha*_*lot 5 c# connection wcf

我的WCF应用程序遇到了麻烦.当我运行客户端应用程序并尝试连接到服务器时,我得到以下异常:

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

当我从托管服务的系统调试时,应用程序运行正常.当我试图从其他电脑调试它我得到这个错误.从这个其他PC我可以在浏览器中打开(服务器应用程序的)WSDL文件,以便找到服务器.

Chr*_*nes 0

我同意 user1039947 的观点 - 绝对启用端到端跟踪,因为该错误消息最终意味着大约八千个不同的问题,其中没有一个与(至少在表面上)关闭连接有太大关系。

话虽这么说,一旦您查看跟踪,或者由于某种原因您无法启用跟踪(但这是您的服务,所以我想您可以),我最常看到的罪魁祸首是:

  1. 结合不匹配
  2. 在数据契约中使用接口或抽象类型
  3. 当属性和类继承自接口或抽象类时,不要在属性和类上使用数据属性。

至少你知道你正在访问服务器。如果您无法获取跟踪日志,并且这些都不是问题,您也可以始终打开 Visual Studio 的两个实例,在一个实例中启动服务主机的新调试会话,然后从调试会话连接到它另一个中的客户。然后您可以追踪处理过程中抛出异常的位置。通常它是在数据序列化中(即#2 和#3)。