什么时候适当坚持配置?

时间:2012-05-31 08:40:33

标签: c# xml configuration xml-serialization

我有以下问题:我在app退出时保存(xml serialize)我的配置(非常大的对象列表),主表单关闭,但有时候在某些comp上的OS(win 7)在保存完成之前终止我的应用程序。所以我问的是什么时候才能做到这一点,我认为可能在主要表单上最小化,但这是有条件的(用户可能永远不会最小化应用程序)。

1 个答案:

答案 0 :(得分:0)

仅限WPF

您是否尝试将其放入应用程序类?应用程序退出时会触发一个覆盖。下面的方法需要10秒钟才能完成它的任务,并且还会让用户在应用程序关闭之前单击消息框上的“确定”按钮。

如果你将配置保存在另一个线程中,这将无效,但它只是退出应用程序。

App.xaml.cs

    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        protected override void OnExit(ExitEventArgs e)
        {
            Thread.Sleep(10000);
            MessageBox.Show("done");
            base.OnExit(e);
        }
    }

赢取表单

在Winforms应用程序中,您可以挂钩到ApplicationExit事件并将配置保存在那里。

Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
static void Application_ApplicationExit(object sender, EventArgs e)
{

}