Estoy a punto de desarrollar un servicio de Windows en C#. Este servicio necesita realizar un seguimiento de los eventos en el sistema y escribir algunos datos en los archivos de vez en cuando. Estos eventos en curso forman un cierto estado, por lo que voy a mantener el estado en la memoria y actualizarlo a medida que lleguen los eventos. No quiero complicar demasiado las cosas, así que no quiero que el estado sea persistente en el disco, pero me pregunto si de alguna manera podría hacerlo persistente en la memoria, de modo que si el servicio falla (y se reinicia automáticamente Windows) podría continuar desde donde salió y continuar (posiblemente perdiendo algunos eventos, no es un gran problema).Mantener datos persistentes en la memoria
yo estaba pensando a lo largo de la línea de crear un área de memoria "compartida", permitiendo así que Windows administre, y usarlo sólo en el servicio - pero no estoy seguro de que objeto se mantendrá después del servicio muere.
¿Alguna idea?
EDIT: No estoy buscando una solución exagerada. Los datos son algo importantes, así que me gustaría mantenerlos esperando en la memoria hasta que se reinicie el servicio, pero los datos tampoco son importantes. Es más una característica agradable de tener si puedo persistir los datos fácilmente, sin trabajar con archivos, procesos externos de terceros, etc. Mi solución ideal sería una característica incorporada simple (en .NET o en Windows) que me proporcione cierta persistencia dentro de la memoria, solo para recuperarse de un evento de bloqueo.
Pago y envío: ['PersistentDictionary'] (http://izlooite.blogspot.com/2011/04/persistent-dictionary.html) clase –