Я бы хотел сохранить данные из консольного приложения в его окончательном состоянии при закрытии. Я выяснил, как использовать сериализацию для сохранения данных, но не как сделать это, когда приложение закрывается.
Один из методов - установить неуправляемый обработчик для перехвата команды закрытия и выполнения операции, однако после вызова обработчика события GC () уже запущен, а управляемая программа больше не находится в памяти.
Есть идеи?
Edit:
Основная проблема заключается в том, что у меня есть объект, который слушает поток в течение всей жизни программы. Если программа затем закрывается извне (например, путем нажатия кнопки x в углу), то никакой другой код в методе Main () не выполняется, минуя закрывающий код сериализации.