升级到 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 10 18.09(10 月更新)后,Rode NT-USB 麦克风的音频质量很差 [关闭]
升级 Windows 10 后 SVN 图标不显示的解决办法