【发布时间】:2016-10-06 06:02:28
【问题描述】:
新的AspNetCoreModule module 就像 IIS 一样以某种方式检测应用程序何时崩溃并重新启动它。它是如何实施的?只是通过询问 Windows 进程是否仍然存在或更微妙的东西(比如 RPC 调用)?如果进程挂起导致 HTTP 超时会怎样?
【问题讨论】:
标签: windows iis asp.net-core hosting health-monitoring
新的AspNetCoreModule module 就像 IIS 一样以某种方式检测应用程序何时崩溃并重新启动它。它是如何实施的?只是通过询问 Windows 进程是否仍然存在或更微妙的东西(比如 RPC 调用)?如果进程挂起导致 HTTP 超时会怎样?
【问题讨论】:
标签: windows iis asp.net-core hosting health-monitoring
当 AspNetCoreModule 创建子进程时,它会立即通过 socket 和存在代码连接来检查子进程是否已启动。如果子进程启动,模块调用RegisterWaitForSingleObject,带有processInformation.hProcess 和一些回调,这样如果子进程存在,回调就会被调用。在子进程挂起的情况下,超时后模块会返回502给客户端,不会杀死子进程。
【讨论】: