我有一台名为 GameServer 的服务器,它一直在运行。 并且不止一个 ClientApplication 在不同的不同机器上运行。
当用户登录到服务器时,我在登录用户的基础上将一些数据保存到服务器,注销后我对数据库以及我为登录用户对服务器所做的实例进行了一些更改。
但是如果用户机器强行关闭或者客户端应用程序发生了一些非常糟糕的事情,那么用户如何强制完全关闭客户端应用程序。
所以当时我想处理一个,即使在我可以调用游戏服务器并可能对服务器进行更改的情况下。
how to know the application is shutting down
上面的链接我看到了,但它会用于正式结束事件。
最佳答案
您必须在应用程序崩溃时处理 Application_DispatcherUnhandledException,在发生未处理时处理 CurrentDomain_UnhandledException。
private void Application_DispatcherUnhandledException(object sender,DispatcherUnhandledExceptionEventArgs e)
{
if(ExceptionView != null)
ExceptionView.ErrorLoger(e.Exception);
e.Handled = true;
}
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var ex = e.ExceptionObject as Exception;
if(ExceptionView != null)
ExceptionView.ErrorLoger(ex);
}
并在 App.XAML 中使用 Application_DispatcherUnhandledException 处理程序。
比如:- DispatcherUnhandledException="Application_DispatcherUnhandledException"
关于wpf - 如果 WPF 应用程序强制关闭或崩溃,则处理 WPF 关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19217910/