2

我们在一款已经运行了 5 年的软件中遇到了一个奇怪的问题。最近我们换了电脑,现在我们在 windows 8.1 上开发

问题:我们有一个网站在后台连接到使用证书的 wcf 服务。然后我们启动网站并尝试登录。首先我们发现我们有一个异常:

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

一条奇怪的消息,因为我们立即收到此消息,因此我们无需等待 20 分钟即可超时。因为我们需要弄清楚到底发生了什么,所以我们在另一台装有 Windows 8.1 的电脑上尝试了这个设置,一切运行良好,网站没有任何问题。然后我们决定交换连接,看看我们是否可以重现,所以我们最终是这样的:

  1. 我的大学=>好的
  2. Collegae to my => 好的
  3. Collegae 自己 => 好的
  4. 我自己=>错误

然后我尝试在 Windows 日志中搜索答案。在系统日志中。我发现 tls 协议存在问题。 Windows eventid 36888 , Windows eventid 36874 然后我们搜索了关于 tls 的问题,因为这两个事件 id,但我们找不到任何东西。

更奇怪的是,我们在我的机器上也本地安装了一个胖客户端,它通过相同的 wcf 服务进行连接,而且这个客户端也可以正常工作。胖客户端和网站是用 C# 编写的。

我为 Web 客户端连接启用了 wcf 跟踪。我通过此链接共享此文件:wcf-log 在 Microsoft 服务跟踪查看器中打开选项卡页活动时,最后一条消息包含错误。

客户端和服务器无法通信,因为它们没有共同的算法

4

1 回答 1

0

经过大量研究后,它最终成为 TLS 1.2。一旦它被禁用,一切都会像魅力一样发挥作用。

我们在 .net 3.5 中创建一个项目并在 .net 4.0 中创建一个精确副本的其他测试结果是 .net 3.5 像一个魅力一样工作,而 .net 4.0 如上所述失败。

通过最后一次测试,我们再次搜索了网络并找到了一个可能对我们有帮助的链接。 如果没有 TLS 1.0,WCF .NET 4.0 将无法工作

该工具向我们展示了我们已经启用了所有功能,但是通过阅读帖子,我们看到我们可能遇到了另一个问题,因为我们还在这台机器上安装了 sql server 2014。我真的希望如果有人遇到这个问题,他会找到这个帖子。这让我们忙了 3 天。

于 2015-11-27T09:00:07.193 回答