【发布时间】:2017-01-12 18:46:31
【问题描述】:
在我的服务器(托管 WCF 应用程序)上更改时间时,我注意到所有客户端都将断开连接。我确实理解为什么会发生这种情况,它们会因为超时而断开连接,因为如果我们将时间设置为一小时后,则设置为 15 秒超时的可靠会话将长期过期。有趣的是,如果您将其设置为任何时间,它不会失去连接,但将其设置为超过 15 秒会导致问题。
问题是,我们能否防止客户端在服务器时间更改时断开连接,因为我觉得这种行为很奇怪,让所有客户端断开连接是一个真正的问题。
我们需要调整服务器时间,因为它会不同步,这不是我们经常可以做的事情,因为我们需要去物理位置(即客户的位置)。服务器放置在高度安全的区域中,由于安全原因,它们无法访问(或任何)外部服务器,我们需要从外部无法访问整个网络。 安装我们自己的时间服务器通常会遇到同样的问题,它会不同步,而且保持在可接受范围内的解决方案通常过于昂贵。
【问题讨论】:
-
为什么服务器时间改变了一个小时?如果是因为夏令时,应该由操作系统选项处理以遵守夏令时并且不会影响连接。
-
@ChrisF 当我们因为服务器(或客户端)不同步而需要调整时间时。
-
为什么它们不同步?您应该将机器同步到外部时间服务器。如果您这样做,那么它们的不同步时间永远不会超过几秒钟。
-
@ChrisF 我们无法连接到外部服务器,并且设置我们自己的内部服务器仍然会遇到同样的问题,最终它们会不同步,并且这样做的解决方案在可接受的范围内通常太贵了。
-
请您更新您的问题以包含这些高度相关的新信息 - 包括为什么您无法连接到外部时间服务器。没有它,您将无法获得真正解决您问题的答案。