【发布时间】:2009-12-22 17:06:21
【问题描述】:
我想将控制台应用程序中的数据保存为关闭时的最终状态。我已经弄清楚如何使用序列化来保存数据,但不知道如何在应用程序关闭时实现这一点。
一种方法是设置一个非托管处理程序来拦截关闭命令并执行操作,但是一旦调用了事件处理程序,GC() 已经运行并且托管程序不再在内存中。
有什么想法吗?
编辑: 这里的基本问题是我有一个对象在程序的生命周期内监听流。如果程序随后在外部关闭(例如通过按下角落中的 x),则不会执行 Main() 方法中的其他代码,绕过关闭的序列化代码。
【问题讨论】:
-
终结器是否运行?也许有某种“根”对象是可能的。