0

现在我在 windows server 2003 上有某种服务应用程序,用于将设备中的数据输入数据库。

有时服务因数据错误或其他任何事情(数据库连接问题、互联网连接中断等)而失败,我必须重新启动服务,现在我为这个问题提供的解决方案是使用 NET START/STOP 命令的简单批处理命令每1小时安排一次。

然后我看一下服务属性上的恢复选项卡,有一个重新启动服务的选项,我想知道如何测试它?比如,Windows 怎么知道服务失败了?最重要的是如何知道发生故障时服务是否成功重启(基于恢复设置)?

PS:我无法访问代码

谢谢

4

3 回答 3

2

当服务因未处理的异常而崩溃时,服务控制台会自动重启。(您的代码的某些部分引发了异常,但没有任何东西捕获它,并且它一直冒泡并从主函数中冒出。)

如果您可以控制代码,最好在容易导致问题的区域周围放置一些 try/catch 块并更优雅地处理错误。您还可以在应用程序的主入口点周围放置一个 try/catch,以捕获并尝试处理代码中任何未处理的异常。

如果您无法控制代码,您可以通过强制发生这些错误之一来测试自动服务恢复。如果您在出现连接问题时服务崩溃,您可以通过拔下计算机上的网络电缆来强制执行此操作。

于 2009-04-20T02:50:03.880 回答
0

测试恢复选项的最简单方法是从任务管理器中终止服务进程。Windows 将检测到它并运行第一次故障恢复选项。后续杀死将测试第二次失败和后续失败选项。事件日志将记录退出和采取的措施。

根据您的环境和您的服务,这对您来说可能是也可能不是一个可行的选择,因为您正在终止服务。

于 2011-05-11T21:04:03.857 回答
0

您可以将其恢复到较早的时间点,恢复 Surface 不会更改您的个人文件,但可能会删除最近安装的应用程序和驱动程序。

1.从屏幕右边缘向内滑动,然后点击搜索。(如果您使用鼠标,请指向屏幕的右上角,向下移动鼠标指针,然后单击搜索。)

2.在搜索框中输入控制面板,然后点击或单击控制面板。

3.在控制面板搜索框中输入恢复,然后点击或单击恢复。

4.点击或单击打开系统还原,然后按照说明进行操作。

于 2014-12-20T09:40:36.857 回答