Я пишу приложение, целью которого является ведение журнала различных событий. Среди них я также хотел бы, чтобы приложение было закрыто - даже если это неожиданно произойдет из-за потери питания.
Естественно, когда отключается электричество, у меня нет возможности что-либо написать. Поэтому моя идея заключалась в том, чтобы постоянно записывать временную метку в каком-то известном месте (скажем, раз в минуту), и при следующем запуске приложения оно могло определить приблизительное время неожиданного завершения работы. Точность в 1 минуту была бы приемлемой для меня.
Однако меня беспокоит, что кэширование на уровне ОС и диска может помешать этому подходу. Есть ли лучший способ или нет - как сделать так, чтобы только что записанные данные действительно были записаны на физический носитель?
Добавлено: О, почти забыл строку модных слов: Windows XP и выше; .NET 3.5; C #.