我有一個小的,長期運行的,嵌入的,NETMF程序停止不明原因(見How do we trouble shoot a long-running NETMF program that stops in production?)。作爲一種解決方法,我希望它在失敗時自動重啓。我的感覺是,try-catch塊可以做到這一點。怎麼樣?這甚至有可能嗎?有更好的方法嗎?如何重新啓動嵌入式NETMF C#程序時出錯?
public class Program
{
private static Timer timer;
public static void Main()
{
Program p = new Program();
Program.timer =
new Timer(this.TimerCallback_DoSomething, new object(), 0, 1000);
Thread.Sleep(Timeout.Infinite);
}
private void TimerCallback_DoSomething(object stateInfo)
{
// do something
}
}
如果您將此作爲服務運行,您可以讓服務在出現故障時自動重啓。 – David
對於最穩定的方法,這應該作爲一個DOS批處理文件來完成,該文件在存在非零結果時重新啓動程序。 – cgTag
@PhatWrat這是一個嵌入式的NETMF程序,所以我認爲服務是不可能的。我更新了我的問題以強調這一點。 –