如果 WPF 应用程序强制关闭或崩溃,处理 WPF 关闭事件

2024-01-06

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

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

但是,如果用户计算机强制关闭或客户端应用程序发生非常糟糕的情况,则用户如何强制完全关闭客户端应用程序。

所以当时我想处理一个事件,在该事件中我可以调用游戏服务器并对服务器进行可能的更改。

如何知道应用程序正在关闭 https://stackoverflow.com/questions/2113606/how-to-know-the-application-is-shutting-down

我看到了上面的链接,但它将用于正常结束活动。


当应用程序崩溃时,您必须处理 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”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 WPF 应用程序强制关闭或崩溃,处理 WPF 关闭事件 的相关文章

  • 如何在MVVM中实现对话框架构

    我正在开发一个基于 PRISM 框架 Unity Container 的 WPF 4 0 MVVM 应用程序 我想知道在 mvvm 模式中实现对话框的最佳方法是什么 我计划在我的应用程序中使用相当多的东西 所以我想要一些可重用的东西 由于您
  • 将 WPF 快捷键绑定到 ViewModel 中的命令

    我有一个使用 MVVM 模式的 WPF 应用程序 将按钮连接到 VM 非常简单 因为它们实现了 ICommand 我有一个工作原理类似的上下文菜单 下一步是为上下文菜单创建快捷键 我不知道如何让快捷键调用命令 这是一个例子
  • 获取代码中的绑定结果

    我可能正在以错误的方式寻找这个 但是 有没有办法通过代码获取绑定的结果值 可能是一些显而易见的东西 但我就是找不到它 您只需致电ProvideValue的绑定方法 困难的部分是你需要通过有效的IServiceProvider到方法 编辑 实
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu
  • 列表视图上的 TextBlock:如何忽略 TextBlock 中的点击并让列表视图处理它们

    我有一个显示大量信息的列表视图 但是当它为空时 我想在其上覆盖一个文本块 上面写着 没有要显示的信息 或 bla bla bla 添加信息 列表视图设置为响应鼠标单击 但现在如果我单击文本块 这些事件将路由到文本块 我怎样才能让这些事件转到
  • WPF HierarchicalDataTemplate 不会在属性更改时更新 ItemsSource

    这是一些 XAML
  • VisualStateManager 和生成的转换

    正当我以为我明白的时候VisualStateManager 有些事情证明我错了 我正在使用 WPF 4 并且尝试简单地在鼠标悬停时放大某个项目 并在鼠标离开时将其缩小 我想我只需定义每个状态VisualStateGroup然后指定一个Vis
  • CommandManager.InvalidateRequerySuggested 不会导致对 MVVM-Light 中的 CanExecute 进行重新查询

    我正在使用 MVVM Light RelayCommand private ICommand myRevertCmd public ICommand Revert get if myRevertCmd null myRevertCmd ne
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 给图像着色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试着色System Windows Controls Image 该图像包含透明区域 我只是想用颜色给非透明区域着色 例如 图
  • 如何在wpf中翻转图像

    我最近学习了如何使用 TransformedBitmap 和 RotateTransformed 类旋转 BitmapImage 现在我可以对图像进行顺时针旋转 但如何翻转图像呢 我找不到执行 BitmapImage 水平和垂直翻转的类 请
  • PreviewKeyDown 不会在 ElementHost 中针对 Tab 和箭头键触发

    我在 Winforms ElementHost 中有一个 WPF 窗口 我的窗口上的 Tab 键和箭头键不会触发 KeyDown 和 PreviewKeyDown 事件 KeyUp 和 PreviewKeyUp 似乎工作正常 Preview
  • 如何枚举控件的所有依赖属性?

    我有一些 WPF 控件 例如 文本框 如何枚举该控件的所有依赖属性 如 XAML 编辑器所做的那样 不需要使用反射 恕我直言 这是一个坏主意 因为框架已经为此提供了实用程序类 但它们并不明显找到 以下是基于这篇文章的答案 枚举绑定 http
  • 从一张图像复制 ROI 并复制到 wpf 中的另一张图像

    我想开发一个具有以下签名的函数 CopyImage ImageSource inputImage Point inTopLeft Point InBottomRight ImageSource outputImage Point outTo
  • 阻止 WPF 文本框增长

    我花了两个小时研究如何避免在输入长文本时我的 WPF TextBox 控件变长 但我无法做到这一点 即使我读过一些关于它的答案 如下所示 停止 wpf textbox from grow with text https stackoverf
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • WPF - 关闭 App.g.cs 中 Main 的自动生成

    我正在学习WPF 我想在 App xaml cs 中提供我自己的 Main 方法 而不是在 App g cs 中为我生成一个方法 然而 我不断遇到冲突 因为我还没有找到如何阻止生成额外的 Main 我的项目文件或其他地方是否有控制此设置的设
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装

随机推荐

  • 如何将 Bootstrap 添加到 Fullpage.js

    我正在尝试将 Bootstrap 添加到 Fullpage js 这样我的网站就会看起来响应迅速 基本上我有一个简单的 Fullpage js 布局 如下所示
  • 如何统计Firestore中某个集合下的文档数量?

    我想得到收藏参考 https firebase google com docs reference android com google firebase firestore CollectionReference计数存在于 Cloud F
  • 合并来自单独存储库的 Mercurial 分支

    我试图弄清楚如何将分支从单独的存储库合并到当前存储库中 我有以下内容 PJT1 包含默认分支和 foodog PJT2 包含分支默认值 从 PJT2 开始 我执行以下操作 hg fetch y PJT1 r foodog m this is
  • macOS 上的 SwiftUI,如何在 Button 上使用自定义图像符号?

    请仔细阅读问题 这是一个 MAC 应用程序 systemName 在 mac os 上不可用 我正在尝试在 macOS 上使用 swiftUI 构建一个简单的应用程序 但是在显示某些图标时遇到一些问题 我现在到处都读到 您需要下载 SF S
  • 将输入存储到数组 C++

    我正在学习数组 我想尝试的是首先让用户输入 x y 值 4 次 例如 第一次 x 1 y 3 第二次 x 2 y 3 第三次 x 3 y 1 第四次 x 1 y 3 然后将用户输入 4 次的值存储在数组中并将其打印出来 但我得到了一些奇怪的
  • 无法启动 springboot 管理,java.lang.NoClassDefFoundError: org/springframework/cloud/netflix/zuul/filters/TraceProxyRequestHelper

    当我创建示例项目时尝试使用 spring boot admin 遵循 http codecentric github io spring boot admin 1 4 1 http codecentric github io spring
  • 静态绑定和动态绑定有什么区别?

    绑定时间可以分为两种类型 静态和动态 静态绑定和动态绑定有什么区别 您能举一个简单的例子来进一步说明吗 用最一般的术语来说 静态绑定意味着引用已解析在编译时 Animal a new Animal a Roar The compiler c
  • 类型级别数算术

    我正在研究 F 的类型推断器 尝试让类型级别的自然数正常工作 这是我设法开始工作的部分 type Zero Zero type Succ lt a gt None type True True type False False type I
  • xvalue 不都是左值和右值吗?

    我读了这个answer https stackoverflow com a 27364969引起我注意的部分是 int i int p i int f int g int h h prvalue g glvalue xvalue f glv
  • 在 IIS 上部署plotly dash

    我正在尝试将一个阴谋破折号部署到 IIS 首先 我按照链接中的说明进行操作 IIS 上的 Flask James Polera https netdot co 2015 03 09 flask on iis 然后当我使用这个脚本时它就可以工
  • 我可以使用 perl 创建数据透视表吗?

    我使用 Excel Writer XLSX 模块使用 Perl 生成 Excel 文件 我把数据放在一张纸上 我想在创建 Excel 文件时自动创建包含该数据的数据透视表和图表 数据透视表和图表需要有过滤器 所以我可以选择月 周 状态 部门
  • Kafka主题未被删除

    我使用的是卡夫卡 0 10 0 1 集群中有 3 个代理 我发出了删除命令 删除了近 10 个一个月以来没有使用过的主题 我检查过 没有消费者注册这些主题 他们的日志大小也没有增加 然而 已经过去5个多小时了 那些话题还没有被删除 它们只是
  • 为什么使用迭代器而不是数组索引?

    采取以下两行代码 for int i 0 i lt some vector size i do stuff 和这个 for some iterator some vector begin some iterator some vector
  • PHP 的 T_VAR 错误

    我正在开发一个 html 表单 它将数据发送到一个显示它的 php 文件 最终我会让 php 将数据发送到 mysql 数据库 当我提交表单时 出现 php 错误 解析错误 语法错误 第 2 行 home2 rocksoli public
  • 如何从测试导航器中删除 Xcode Swift 测试类?

    Xcode 测试导航器显示测试用例类的列表 我想删除一个测试用例类 因为不再需要它 我尝试过许多典型的方法 例如按删除键 或查找 图标 或 删除 菜单项 或在 Apple Xcode 文档中搜索帮助 我找到了这个解决方法 在项目导航器中 从
  • Facebook API 营销:创建自定义受众的问题

    我尝试通过 APPUID 将用户添加到自定义受众 我确实发布到网址https graph facebook com v2 10 CUSTOM AUDIENCE ID users https graph facebook com v2 10
  • Emacs 日历:显示超过 3 个月?

    在 Emacs 中 当您使用以下命令显示日历时M x calendar 您可以在一个只有 8 行高的新窗口中显示三个月的信息 上个月 本月和下个月 是否可以在全尺寸窗口中生成十二个月的日历 12 个月日历 按月滚动 向前 向后 Scroll
  • 检测由于违反唯一约束而导致的 mysql 更新/插入失败

    这有点类似于这个问题 PHP MySQL INSERT 由于唯一约束而失败 https stackoverflow com questions 2756186 php mysql insert fails due to unique con
  • 如何从 MS SQL 数据表中检索列默认值

    我在用DataAdapter FillSchema从 MS SQL 检索表的架构 不幸的是 这不会返回列的默认值 当我需要检查数百个表时 有没有一种方法可以快速有效地检索此值作为架构的一部分 Thanks 默认值仅在行插入时确定 作为替代方
  • 如果 WPF 应用程序强制关闭或崩溃,处理 WPF 关闭事件

    我有一台名为 GameServer 的服务器 它持续运行 并且多个 ClientApplication 正在不同的不同机器上运行 当用户登录到服务器时 我将根据登录用户将一些数据保存到服务器 注销后我将对数据库以及我为登录用户对服务器所做的