上下文:我们在一个AWS负载均衡器后面运行ASP.NET站点,该请求在60秒后超时。在缓存预热等过程中,有史以来对我们网站的第一个请求可能需要更长的时间。我们可以对该策略进行明显的改进,但这超出了此问题的重点。
假设与我们的IIS实例的连接在60秒后关闭,那么就我的代码运行而言,执行该请求会发生什么情况?
可以
这实际上取决于您的代码。
如果您的循环/工作花费的时间太长,则等待结束,然后如果他们去做一些数据发送到连接并发现连接已关闭,则您有异常。我的意思是,如果没有数据发送到客户端以检查连接是否丢失-那么您的进程仍将运行到最后。
在女巫的情况下,死循环将关闭并挂起取决于池配置。在这里,您可以设置最大运行时间,然后设置必须等待的时间,直到他杀死您的无响应进程。
该功能HttpResponse.IsClientConnected
检查客户端是否仍处于连接状态,如果您想检查并中止较长时间的过程,可以使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句