2011-07-16 12 views
5

Estoy buscando una solución simple para serializar y almacenar objetos que contienen configuración, estado de aplicación y datos. Es una aplicación simple, no es una gran cantidad de datos. La velocidad no es un problema. Quiero que esté en proceso. Quiero que sea más fácil de editar en un texteditor que xml.¿La forma más fácil de serializar y almacenar objetos en C#?

No encuentro ninguna base de datos de documentos para .net que pueda manejarlo en proceso. Simplemente serializando a xml No estoy seguro de querer hacerlo porque es ... xml. La serialización a JSON parece muy específica de JavaScript, y no utilizaré esta información en javascript.

Me imagino que hay muy buenas maneras de hacerlo, pero im impense a usar JSON a pesar de su incrustación de javascript.

+0

"No encuentro ninguna base de datos de documentos para .net que pueda manejarlo en proceso" - ¿Qué quiere decir? en proceso me confunde ... – Tigran

+0

Al mirar digamos MongoDB, se requiere un proceso separado para procesar las solicitudes de datos. Id más bien omitir tener otro proceso en ejecución, y ser capaz de tener todo en el mismo proceso. – MatteS

+0

bien, puede que esté en mi respuesta, la segunda opción puede convertirse en una de las opciones para usted. – Tigran

Respuesta

5

El hecho de que "JSON" es un acrónimo de JavaScript Object Notation, no tiene relevancia si se ajusta a sus necesidades o no como formato de datos. JSON es liviano, basado en texto, fácilmente legible/editable por los humanos y es un formato independiente del idioma a pesar del nombre.

Definitivamente me inclino por usarlo, ya que suena bastante ideal para su situación.

1

daré un par de opciones:

  1. serialización binaria: depende del contenido de los objetos, si ha complicado árbol dependecy que puede crear un problema de serialización. Además, no es muy flexible, ya que la serialización binaria estándar proporcionada por Microsoft también almacena información de tipo de guardado. Eso significa que si guarda un tipo en un archivo binario, y después de un mes decide reorganizar su código y digamos mueva la misma clase a otro espacio de nombres, al desirializarlo del archivo binario previamente guardado, fallará, ya que el tipo no es más el mismo . Hay varias soluciones para eso, pero personalmente trato de evitar ese tipo de serialización tanto como puedo.

  2. ORM mapeo y almacenamiento en una base de datos pequeña. SQLite es una elección increíble para este tipo de cosas, ya que es pequeña (un solo archivo) y completa la base de datos de soporte ACID. Necesita un asignador, o necesita implementar mapper usted mismo.

Estoy seguro de que obtendrá otra opción de la gente en un par de minutos.

Así que la elección es tu decisión.

Buena suerte.

Cuestiones relacionadas