升级到 Windows 10 后 net.tcp 无法正常工作

Posted

技术标签:

【中文标题】升级到 Windows 10 后 net.tcp 无法正常工作【英文标题】:net.tcp not working since upgrading to windows 10 【发布时间】:2015-11-03 14:34:24 【问题描述】:

从 Windows 8.1 升级到 Windows 10 后, 通过 net.tcp 连接提供 WCF 服务的项目都无法连接。

我得到的例外是:

套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题引起的。本地套接字超时为 '19:59:59.9769910'

内部异常代码为:10054

但异常立即发生。所以这不是超时。

我检查了 IIS,一切仍然配置正确。 (在网站上仍然有正确的绑定,启用协议 http,net.tcp)

如果 net.tcp 侦听器适配器正在运行,我检查了我的服务。

我检查了 windows 功能,发现 windows 通信基础非 http 激活已关闭。所以我打开它并重新启动我的电脑,但仍然得到同样的异常。

到目前为止,我总共花了 4 个小时试图让 net.tcp 连接正常工作,但我在这里有点失去希望了。

这是我打开的 Windows 功能:

这是我正在运行的 Windows 服务:

升级到 Windows 10 时是否有其他人遇到过这个问题?

【问题讨论】:

我昨天遇到了同样的问题。你找到解决办法了吗? @ChristianMyksvoll 抱歉这么晚才回复。我已经为下面的问题添加了我们的解决方案。 【参考方案1】:

经过数小时的反复试验,我终于让它工作了。我不能 100% 确定这是否最终真正解决了我的问题,但请试一试:

    打开“打开或关闭 Windows 功能” 取消选中“WCF 服务”和所有基础框 重启电脑 重新检查“WCF 服务”下的“TCP 激活”、“TCP 端口共享”(以及您需要的任何其他激活方法) 重启电脑

【讨论】:

完美——你就是那个男人!我在自托管的 WCF 应用程序上也遇到了这个问题。我怀疑 Windows 更新修改了 .Net 4.7 下的 WCF 设置。 附言。我得到的错误是 System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL because TCP port is being used by another application【参考方案2】:

我们已经设法解决了这个问题。

我们在 IIS 中使用了一个不再受支持的旧加密方法的证书。 (它使用的是 MD5-RSA) 现在这在 Windows 8/8.1 中仍然有效,但证书在 Windows 10 中不再有效,导致此行为。

解决方案是获取具有更好且受支持的加密算法的新证书,并在我机器上的 IIS 中设置它们。

我也很抱歉这么晚才回复!

【讨论】:

【参考方案3】:

我们的服务不使用 IIS。我们有自托管的 WCF 服务。检查后

命名管道 Tcp 激活

他们终于成功了。

【讨论】:

以上是关于升级到 Windows 10 后 net.tcp 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

windows恢复到windows7还能正常升级吗2022

升级到 Windows 10 18.09(10 月更新)后,Rode NT-USB 麦克风的音频质量很差 [关闭]

如何配置net.tcp 的WCF服务

升级 Windows 10 后 SVN 图标不显示的解决办法

升级 Windows 10 后 SVN 图标不显示的解决办法

windows升级到1607后操作很卡顿的解决办法