Я собираюсь создать службу Windows на C#. Эта служба должна отслеживать события в системе и время от времени записывать некоторые данные в файлы. Эти текущие события образуют определенное состояние, поэтому я буду хранить состояние в памяти и обновлять его по мере поступления событий. Я не хочу чрезмерно усложнять ситуацию, поэтому я не хочу, чтобы состояние было постоянным на диске, но мне интересно, могу ли я как-то сделать его постоянным в памяти, так что если служба аварийно завершает работу (и автоматически перезапускается Windows), он мог бы подняться с того места, где он ушел, и продолжать (возможно, потерять некоторые события, а не большое дело).Сохранение постоянных данных в памяти
Я думал вдоль линии создания «общей» области памяти, что позволяло Windows управлять ею и использовать ее только в службе, но я не уверен, что объект будет сохраняться после того, как служба погибнет.
Любые идеи?
EDIT: Я не ищу решение для переполнения. Данные несколько важны, поэтому я хотел бы сохранить его в памяти до тех пор, пока служба не будет перезапущена, но данные не тоже. Это более приятная функция, если я могу легко переносить данные, не работая с файлами, внешними сторонними процессами и так далее. Мое идеальное решение было бы простой встроенной функцией (в .NET или Windows), которая предоставит мне некоторую настойчивость в памяти, просто для восстановления после аварийного события.
Оформить заказ: ['PersistentDictionary'] (http://izlooite.blogspot.com/2011/04/persistent-dictionary.html) класс –