Какой принятый способ сохранить переменные в службе Windows - PullRequest
2 голосов
/ 28 октября 2011

У меня есть служба Windows, которая будет работать все время, но будет активирована только в том случае, если с момента последнего запуска прошло не менее 24 часов.Поэтому мне нужно сохранить время и дату с момента последнего выполнения его полезной нагрузки.

Для этого я думал о записи в App.Config с:

ConfigurationManager.AppSettings.Set("LastRunTime", DateTime.Now.ToString());

однако этопохоже, не сохраняется, а скорее кеш, который не годится при перезапуске службы.

Так, каков приемлемый метод для сохранения значений для службы Windows?

Ответы [ 2 ]

6 голосов
/ 28 октября 2011

Использовать базу данных, простой XML / текстовый файл, значение реестра.

Кроме того, в зависимости от ваших требований, другое консольное приложение, запускаемое с помощью планировщика заданий, может быть другим вариантом.

1 голос
/ 28 октября 2011

Я закончил сериализацию объекта в соответствии с этой статьей и в соответствии с тем, что сказал @ChrisBint, я сохранил его в текстовый файл.Это то, что я искал как «принятый», я знал, что могу писать в текстовые файлы, но это был метод, который я искал.Я хотел сохранить все структурированным и строго типизированным вместо того, чтобы писать свои собственные методы для сохранения данных.

Поскольку @Chris предоставил только частичный ответ, я проголосовал за него и принял это.

...