上下文:我们在AWS负载均衡器后面运行我们的ASP.NET站点,该站点在60秒后发出请求。对我们网站的第一次请求可能需要更长的时间,而缓存热身等。我们可以对此策略做出明显改进,但这与此问题的关键点不同。
假设我们的IIS实例的连接在60秒后关闭,那么就我的代码运行而言,执行该请求会发生什么?
是吗
答案 0 :(得分:1)
这实际上取决于您的代码。
如果你的循环/工作需要太长时间,那么它等待结束,然后如果他们将一些数据发送到连接并发现连接已关闭则会有异常。我的意思是,如果没有数据发送到客户端以检查连接是否丢失 - 那么您的进程仍将运行到最后。
在女巫的情况下,死循环将关闭并挂起取决于池配置。在那里你可以设置最长运行时间,然后是必须等待的时间,直到他杀死你的非响应过程。
函数HttpResponse.IsClientConnected
检查客户端是否仍然连接,如果您想检查并中止一些长时间的过程,可以使用它。