我正在为展览装置创建一个小亭应用程序。我在 .Net 和 C# 中开发,计算机将运行 Windows 7。
现在,设置某种看门狗的最简单方法是什么,它将杀死进程并在它挂起时重新启动它。或者如果出现异常,是否会关闭错误窗口并重新启动应用程序?
谢谢!
我假设信息亭应用程序作为常规 UI 应用程序而不是服务启动。
如果是这种情况,我会编写一个小型 shell 应用程序,它是实际启动的应用程序,当它启动时,它将作为一个单独的进程启动 kiosk 应用程序,然后进入一个循环检查运行状况kiosk 应用程序每隔几秒就会进入睡眠状态(thread.idle、doevents,无论需要什么)。
您可以通过保留对已启动进程的引用来检查自助服务终端应用程序的运行状况,并检查它是否已退出。
您还可以做一些简单的事情,例如让信息亭通过后台工作线程定期更新一个小文件。监控应用程序可以检查此文件的更新时间,如果在特定时间段内没有更新,您可以假设信息亭应用程序已锁定并终止该进程,该进程将在接下来通过监控应用程序的循环。
最简单的方法是编写信息亭应用程序,使其不会崩溃或挂起。当您可以花时间制作您正在观看的应用程序时,为什么还要花时间编写可能有其自身问题的看门狗?
Windows 有一个看门狗: http: //www.codeproject.com/Articles/11616/Watch-Dog