服务-如何捕获退出代码
本文关键字:退出 代码 何捕获 服务 | 更新日期: 2023-09-27 18:13:03
我想问一下Windows服务。我的服务代码如下所示:
try
{
//...
}
catch
{
Environment.ExitCode = 1;
}
安装服务后,我使用调度系统在特定时间运行服务:
net start MyService
//or
sc start MyService
所以我的问题是,如果我有异常,如何获得信息?有什么命令可以得到这个信息吗?现在我通常运行我的应用程序,然后在10分钟后。停止服务。我想做一个中间调度任务,它会告诉我是否在应用程序中发生了错误。我已经尝试了"sc"的所有选项-但它只提供有关服务的信息。
限制:
- 我无法将错误和异常记录到事件日志或文件
- 不希望更改我的代码
- 在调度系统中,我可以使用bat脚本(所以这个脚本是唯一的地方,我可以改变的东西)
标准方法是将错误和异常记录到事件日志中——要么是为服务创建的特定日志,要么只是将服务作为事件日志的新来源。
您可以使用WMI定期检查事件日志中的错误
在无法记录事件日志的情况下,您可以创建自己的"事件日志"吗?使用中间服务定期轮询的文件或数据库表可能会满足您的目的。