3

我有一台名为 GameServer 的服务器,它一直在运行。并且不止一个 ClientApplication 在不同的不同机器上运行。

当用户登录到服务器时,我根据登录用户将一些数据保存到服务器,注销后我正在对数据库以及我为登录用户创建的服务器实例进行一些更改。

但是如果用户机器强制关闭或客户端应用程序发生了一些非常糟糕的事情,那么用户如何强制完全关闭客户端应用程序。

所以当时我想处理一个,即使我可以调用游戏服务器并可能对服务器进行更改。

如何知道应用程序正在关闭

我看到了上面的链接,但它将用于正常关闭事件。

4

1 回答 1

2

您必须在应用程序崩溃时处理 Application_DispatcherUnhandledException ,在发生 Unhandled 时处理 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"

于 2013-10-07T06:41:54.677 回答