C# 何时是保持配置的适当时间?

C# 何时是保持配置的适当时间?,c#,xml,configuration,xml-serialization,C#,Xml,Configuration,Xml Serialization,我有以下问题:我在应用程序退出时保存(xml序列化)我的配置(非常大的对象列表),主窗体关闭,但有时某些组件上的OS(win 7)会在保存完成之前终止我的应用程序。所以我问什么时候是最好的时间来做这件事,我想可能在主窗体最小化,但有条件的(用户可能永远不会最小化应用程序) 仅限WPF 你试过把它放在你的应用课上吗?存在在应用程序退出时触发的覆盖。下面的方法需要10秒钟才能完成任务,并且还可以让用户在应用程序关闭之前单击messagebox上的OK按钮 但是,如果您将配置保存在另一个线程中,这将不

我有以下问题:我在应用程序退出时保存(xml序列化)我的配置(非常大的对象列表),主窗体关闭,但有时某些组件上的OS(win 7)会在保存完成之前终止我的应用程序。所以我问什么时候是最好的时间来做这件事,我想可能在主窗体最小化,但有条件的(用户可能永远不会最小化应用程序)

仅限WPF

你试过把它放在你的应用课上吗?存在在应用程序退出时触发的覆盖。下面的方法需要10秒钟才能完成任务,并且还可以让用户在应用程序关闭之前单击messagebox上的OK按钮

但是,如果您将配置保存在另一个线程中,这将不起作用,它只会退出应用程序

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);
        }
    }

这是桌面应用程序吗?用嵌入式数据库代替配置怎么样?很抱歉,我单击了XML标记而不是XAML,这个答案只针对WPF应用程序(尽管关于线程的注释在winforms中仍然有效),我还添加了winforms解决方案。
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
static void Application_ApplicationExit(object sender, EventArgs e)
{

}