我有一个带有客户端/服务器架构的 .NET 服务,其中客户端机器通过软件负载平衡器连接到服务器机器。我将该HttpWebRequest.ServicePoint.ConnectionLeaseTimeout
属性设置为特定值,以便每隔一段时间终止连接,并且 SLB 将为客户端提供与不同(或可能相同)服务器的新连接,以防服务器行为异常。
我的问题是:
ConnectionLeaseTimeout
有没有办法在间隔用完并启动到新服务器的新连接时得到通知?每次发生这种情况时,我都想记录新服务器的信息,以确保我确实在更新连接,而不仅仅是在某台机器上停留的时间超过了我应该的时间。
我希望对这种情况有一些内置支持,并且我不必存储当前主机的信息并每隔一段时间(每隔几个请求或每个时间间隔)检查我连接到一个新服务器(通过与以前的比较)并跟踪更改时间。即使我这样做了,也无法判断我是否在两个连续的时间间隔内连接到同一台服务器,因为我没有释放第一个连接,或者因为 SLB 将我还给了同一台服务器。