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