WinForms: ¿cuál es el enfoque más sencillo para conservar algunos datos?

Simplemente construyendo mi primera aplicación de WinForms.

Pregunta: ¿Cuál es el enfoque más fácil / mejor para guardar algunos datos entre el uso de la aplicación (p. Ej., La lista de URL con estado y fecha / hora en este caso)? No veo ninguna necesidad de una base de datos.

Por ejemplo * ¿Es más fácil almacenar en un archivo de texto? * O se está almacenando en un archivo XML con la misma facilidad en DotNet * ¿Qué tal el Registro de Windows? ¿Esto es algo que generalmente se debe evitar? ¿Es compatible con el uso en todas las versiones, incluida la base de datos de Windows 7 *? Probablemente sea una exageración aquí * ¿Quizás una biblioteca muy utilizada?

Gracias

El almacenamiento en XML es muy fácil en .NET, especialmente si solo está almacenando una URL y una marca de tiempo. Podría crear una clase personalizada para almacenar los datos … en tiempo de ejecución, manipular instancias de esa clase en su aplicación.

Cuando sea el momento de guardar, serialice el (los) objeto (s) a XML … cuando la aplicación necesite restaurar los datos más tarde, simplemente deserialice. MSDN tiene un tutorial simple.

Vale la pena señalar, como lo hizo Quintin, que usar SQL Server Compact o alguna otra base de datos liviana también podría ser una buena idea. XML es rápido y fácil, pero si necesita personas para compartir datos o necesita algo más flexible que una simple serialización, es mejor que tenga una base de datos.

Eche un vistazo a la Configuración de su proyecto (haga clic con el botón derecho en el Explorador de soluciones> Propiedades> pestaña Configuración), puede definir una serie de variables que persisten en los usos del progtwig para cada usuario, como nombre de usuario, hora de la última actualización, servidor proxy, nada de eso. La configuración en sí misma se serializa a XML y vive en la carpeta Configuración de la aplicación para cada usuario, pero también puede especificar la configuración predeterminada o específica de la aplicación.

A continuación, puede utilizar la configuración de esta manera:

MyNamespace.Properties.Settings.Default.MySetting 

Se puede encontrar más información sobre los archivos de configuración en MSDN o en el Proyecto de Código

Esto es genial si solo necesita almacenar algunas variables entre sesiones. Si necesita almacenar una mayor cantidad de datos, consulte una de las opciones de base de datos sugeridas en las otras respuestas o la serialización .

Si realmente necesita una gran persistencia y almacenamiento fuera de la aplicación, puede usar sqlite o sql server compact (ambos independientes), sin embargo, en su caso, creo que leer / escribir en un archivo xml en la carpeta de datos de la aplicación común se ajustaría a sus necesidades. increíblemente fácil

Editado porque mi primer post fue claro como barro.

Personalmente, me gusta almacenar datos en una base de datos si los usuarios comparten datos.

Para datos de un solo usuario no compartidos, las siguientes opciones son bastante fáciles.

Si sus datos se almacenan internamente en un DataSet, sugeriría usar DataSet.WriteXml y DataSet.ReadXml para almacenar localmente.

De lo contrario, un archivo de texto simple sería lo más fácil para algo tan simple como sugirió. Si los datos van a ser más complejos, sin embargo, escribir un documento Xml sería lo más apropiado.

También puedes mirar en Serialización:

http://msdn.microsoft.com/en-us/library/7ay27kt9(VS.85).aspx

Usted debe revisar db4o . Esta base de datos de objetos de código abierto ligero para objetos .NET y Java es muy útil cuando simplemente desea una persistencia simple. Es más fácil de consultar que un archivo de texto y no tan pesado como un RDBMS. Se incluye como una biblioteca y persiste en un archivo, por lo que no hay llamadas fuera de proceso.

Se puede agregar a su proyecto haciendo referencia a la biblioteca db4o (descargue aquí ). Le asigna una ruta de archivo en la que desea conservar los objetos y se encarga del rest. A continuación, puede crear clases para encapsular su información y simplemente conservar instancias de ellas en el archivo a través de db4o. Puede solicitarlos más tarde a través de una interfaz de consulta muy simple.

Depende de la cantidad de datos que desee almacenar, pero si es solo un pequeño conjunto de valores (en lugar de un conjunto de objetos o registros), también busque en el almacenamiento aislado:

https://msdn.microsoft.com/en-us/library/3ak841sy(v=vs.110).aspx