微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果wpf应用程序没有响应,然后自动重启

我有一个偶尔崩溃的WPF应用程序,并说“没有回应”。 有没有办法来检测程序是否没有响应? 如果是的话,重新启动WPF应用程序?

这将是一个临时的修复,直到错误修复。

如何使用Web服务将批处理模式下的条形码扫描器连接到Web应用程序?

MSI文件在安装后被复制的位置?

在c#中删除非常大的对象

CLR在哪里安装?

loopState.Break(),loopState.Stop()和CancellationTokenSource.Cancel()之间有什么区别?

您可以使用Windows Vista中引入的应用程序恢复和重新启动管理器API。 这是一个非托管(C)API,但在Windows API代码包中有可用的托管包装。

无论如何,这是一个很好的功能添加到您的应用程序,因为它提供了一个更好的经验,如果(当!)你的应用程序崩溃。 你甚至可以编写一个回调函数来保存关于用户正在做什么的信息,然后在应用程序重新启动时恢复这个状态。

API的最基本用法是在应用程序启动的某个地方添加下面一行:

ApplicationRestartRecoveryManager.RegisterForApplicationRestart( new RestartSettings( "restart",RestartRestrictions.None ) );

由于在调试应用程序时这是一个临时性的修复,所以一种可能性是欺骗并使用一个启动应用程序/启动应用程序,其唯一的工作是监视有问题的应用程序。 通过System.Diagnostics.Process类的Start方法启动有问题的应用程序,然后偶尔监视返回的Responding属性。 如果没有回应,就做你需要做的事情。

当然,当你解决真正的问题的时候,这只是作为一个权宜之计,这一点很重要。 长期做这样的事情有很多小问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐