c# - 什么停止(而不是崩溃)我的 Windows 服务?

标签 c# .net windows-services

我们有一个 .NET Windows 服务偶尔会在一台特定服务器上关闭,上个月大约关闭了 3 次。日志记录显示正在调用 OnStop 方法,因此我认为服务没有崩溃。但是,我们不知道关闭服务的原因。

有什么方法可以找出关闭服务的原因吗?在 OnStop 期间我可以记录什么吗? Windows 事件查看器仅显示应用程序已关闭,安全日志未显示当时已通过身份验证的任何用户帐户。

该服务在 Windows Server 2003 SP2 (5.2.3790) 上的 .NET 3.5 SP1 中运行。

没有服务依赖性。此服务不依赖于任何其他服务,也没有其他服务依赖于此服务。

最佳答案

无法从服务内部判断,因为这是从 SCM 调用的 - 无论谁要求 SCM 停止您的服务,服务都看不到...

我认为您的主要选择是在那段时间检查事件日志...是否也关闭了其他服务?是否有任何计划任务正在运行等?

“相当肮脏”的选择(最后的手段/绝望)是将 CanStop 设置为 false...在这种情况下,会有人看到停止您的服务时出现问题并“希望”问您为什么您的服务没有可以停止...

关于c# - 什么停止(而不是崩溃)我的 Windows 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838838/

相关文章:

.net - 如何使用 GroupBy() 通过 VB.NET 对多列进行分组?

.net - 低于 3 万美元的可扩展 .Net 文档管理

asp.net-mvc - Web 应用程序 ASP.NET MVC 的调度程序

C#自定义控件渲染其他控件

c# - Visual Studio 在调试结束时清除输出文件

c# - 已经有一个打开的 DataReader 与此连接关联,必须先将其关闭

c# - 如何使用自定义卸载程序卸载 Windows 服务

C# 用不同的参数注册相同的windows服务

C# - 如何在 DLL 中打开 Windows 窗体

c# - 如何创建一个空的 SelectList