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