给你个方案,你试试:增加一个服务,用作监控程序是否卡死,如果卡死,就kill掉程序,并且重新运行
设定程序定时重启吧,或完成多少次的循环重新启动。而对于重新启动的方式最好不用Application.exit()。因为这种方式退出不够干净。最好使用 Environment.Exit(Environment.ExitCode);完全退出程序。再用监控进程,重新启动程序。监控进程在主程序启动时启动,并循环检测监控进程是否存在。 若时程序卡死时间不确定, 那就得更改主程序逻辑了,找出问题。