如何在 C# .NET 中检测应用程序池重新启动?

Posted

技术标签:

【中文标题】如何在 C# .NET 中检测应用程序池重新启动?【英文标题】:How to detect Application pool re-starts in C# .NET? 【发布时间】:2021-11-06 10:47:35 【问题描述】:

该产品在 Windows 上的 IIS 中运行大量应用程序池。目标是能够检测任何 IIS 应用程序池崩溃并生成警报。

我正在考虑编写一个可以检测特定 IIS 应用程序池崩溃的 C# .NET 服务。

哪个 C# .NET 包允许在 C# 代码中捕获 Windows 系统事件并做出响应?

【问题讨论】:

***.com/questions/9984604/… 嗨@agargi,这有帮助吗? serverfault.com/questions/98726/… @Paulo 感谢您的回复。这更多是关于生成事件和调试。问题是关于如何检测发生的事件并生成警报。 确实,你想在运行时监控,可能是gist.github.com/KerryRitter/7bf65023a3dc6122f981 【参考方案1】:

您可以编写自己的应用程序,但在您配置应用程序池以在其中记录各种事件并使用现成的软件通知您之后,系统事件日志中存在值。我们使用 Corner Bowl,当在该日志区域中检测到某些条目时,它会向我们发送电子邮件。我们会响应诸如节流和虚拟内存限制之类的事情。

【讨论】:

以上是关于如何在 C# .NET 中检测应用程序池重新启动?的主要内容,如果未能解决你的问题,请参考以下文章

C#并行编程:.NET线程池

ASP.NET C# 如何在程序中控制IIS服务或应用程序池重启?

如何在 IIS 7.5 中配置应用程序池在停止时自动重新启动?

如何在 C# 中重新启动任务?或如何重新启动 Thread.Sleep()?

[C#]如何使用ThreadPool

如何在 C# 中应用 Windows 任务栏更改而不重新启动资源管理器?