我正在编写一个 Web 监视器应用程序,它提供有关我的 IIS 服务器上所有应用程序池/应用程序的信息。我正在寻找一种在 C# 中以编程方式检查 IIS 应用程序是否正在运行的方法,如果不是,则不会导致它运行。
这是我发现的...
- 应用程序正在运行,有一个或多个会话处于活动状态。
- 所有会话都停止了......应用程序仍在“运行”,应用程序池工作进程正在运行。
- 在 IIS 确定的某个时间点,Application_End 最终被执行......但是,应用程序池工作进程仍在运行。
- 20 分钟后,应用程序池工作进程最终因不活动而关闭。
在#3 和#4 之间我遇到了麻烦。应用程序已结束,但如果我尝试向应用程序发送 Http 请求,它将自动启动。我正在寻找一种方法来以编程方式确定应用程序是否已结束(而工作进程仍处于活动状态等待关闭)而无需重新启动应用程序。
如果您不确定我在说什么,我可以尝试提供更多详细信息。
问候,杰里米