Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebRequest基础连接关闭事件/通知_C#_.net_Notifications_Httpwebrequest_Timeout - Fatal编程技术网

C# HttpWebRequest基础连接关闭事件/通知

C# HttpWebRequest基础连接关闭事件/通知,c#,.net,notifications,httpwebrequest,timeout,C#,.net,Notifications,Httpwebrequest,Timeout,我有一个带有客户机/服务器体系结构的.NET服务,客户机通过软件负载平衡器连接到服务器。我将HttpWebRequest.ServicePoint.ConnectionLeaseTimeout属性设置为一个特定值,以便每隔一段时间就会终止连接,并且SLB会为客户端提供一个到不同(或可能相同)服务器的新连接,以防服务器出现错误 我的问题是: 当ConnectionLeaseTimeout时间间隔用尽并且启动了到新服务器的新连接时,是否有方法获得通知?每次发生这种情况时,我都会记录新服务器的信息,以

我有一个带有客户机/服务器体系结构的.NET服务,客户机通过软件负载平衡器连接到服务器。我将
HttpWebRequest.ServicePoint.ConnectionLeaseTimeout
属性设置为一个特定值,以便每隔一段时间就会终止连接,并且SLB会为客户端提供一个到不同(或可能相同)服务器的新连接,以防服务器出现错误

我的问题是:

ConnectionLeaseTimeout
时间间隔用尽并且启动了到新服务器的新连接时,是否有方法获得通知?每次发生这种情况时,我都会记录新服务器的信息,以确保我确实在更新连接,而不仅仅是在某台机器上停留的时间过长


我希望这个场景有一些内置的支持,我不必存储当前主机的信息,并且每隔一段时间(每隔几次请求或每隔一段时间)检查连接到新服务器的情况(通过与以前的情况进行比较),并跟踪更改的时间。即使我这样做了,也无法判断在两个连续的时间间隔内,我是否连接到同一台服务器,因为我没有释放第一个连接,或者因为SLB返回了同一台服务器。

租约超时的问题是,您不知道何时(在代码中)它之所以会发生,是因为它与您的代码是异步的。因此,如果它确实通知您断开连接,那么它必须位于某个工作线程上,您只需存储该信息,并在主线程到达可以使用该信息执行任何操作的点时使用它。这一点通常是下一次您想要对web请求执行某些操作时。因此,要检测到这一点,您唯一能做的事情就是在下次使用请求时捕获结果
WebException

我明白您的意思,但现在我只想记录在并发线程上发生的事件。。。为了给你提供更多的背景,SLB的人声称我抓机器太久了,我想向他们证明事实并非如此,而且SLB实际上一直在把同一台机器还给我。没有任何事件发生。您必须尝试在connect上发送一些内容,以查看它是否仍处于连接状态。如果是http,你可能不能这么做。谢谢大家。我只是想确保在我实施某些东西之前没有现成的解决方案。。。