如果我的C#Windows移动程序崩溃,如何重置此程序?
(自动 - 无任何用户干扰)
提前谢谢
答案 0 :(得分:2)
您必须拥有另一个监视程序的应用程序,一旦发现它已崩溃,它就可以重新启动该应用程序。
答案 1 :(得分:1)
我看到了2个可行的解决方案
1)tomlog建议有2个进程监视器eatch其他的方式。 (不好的方式)
2)让你的应用程序知道它的崩溃,然后做一些事情(你可以原则地不重新启动它,但也许启动另一个应用程序来执行它)
我建议使用版本2只是因为移动电话资源有限并且产生了一个程序,除了检查另一个是否运行似乎是不好的做法,特别是在手机上。
[MTAThread]
static void Main()
{
AppDomain CurrentDomain = AppDomain.CurrentDomain;
CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);
Application.Run(new MainWindow());
}
static void OnUnhandledException(Object sender, UnhandledExceptionEventArgs e)
{
Exception ex = (Exception)e.ExceptionObject;
}
答案 2 :(得分:0)
我同意EKS - 处理关键异常并在发生不可恢复的情况时重新生成应用程序 - 请注意无限重新生成循环!