C # .NET - méthode pour stocker des informations persistantes à très petite échelle?
J'ai une application qui aura besoin de très peu de stockage persistant. De façon réaliste, nous parlons de < 30 entiers. Tous les besoins de l'application est de connaître les entiers au prochain démarrage (et les entiers de ne changer qu'il fonctionne).
Une base de données est trop pour cela, mais je n'ai pas particulièrement envie de simplement utiliser un fichier texte.
Ne C# disposaient d'aucun mécanisme pour la persistance de petites valeurs de ce type entre les courses? J'ai remarqué que vous pouvez stocker des choses dans les fichiers de ressources et de quelques autres lieux, je ne sais pas si vous pouvez les modifier dans le runtime. Je suis en train d'apprendre le C# & .NET pour un nouvel emploi, alors, toutes mes excuses si c'est une question idiote!
source d'informationauteur John Humphreys - w00te | 2012-04-25
Vous devez vous connecter pour publier un commentaire.
Ici est un blurp de l'autre, de SORTE post qui explique comment configurer les Paramètres de l'Application, c'est un simple fichier de base de solution pour la lecture/écriture des valeurs.
"Si vous travaillez avec Visual Studio, alors il est assez facile d'obtenir des permanent des paramètres. Clic droit sur le projet dans l'Explorateur de solutions, cliquez sur Propriétés. Sélectionnez l'onglet Paramètres, cliquez sur le lien hypertexte si les paramètres n'existe pas. Utilisez l'onglet Paramètres pour créer des paramètres de l'application. Visual Studio crée les fichiers de Paramètres.réglages et Paramètres.Le concepteur.les paramètres qui contiennent de la classe singleton Paramètres hérités de ApplicationSettingsBase. Vous pouvez accéder à cette classe à partir de votre code de lecture/écriture des paramètres de l'application:"
Je voudrais utiliser embeeded de base de données sqlite.
http://www.codeproject.com/Articles/22165/Using-SQLite-in-your-C-Application
SQLite est un petit, rapide et intégrable de base de données dans laquelle le moteur de base de données et l'interface sont combinés dans une seule bibliothèque. Il a également la capacité de stocker toutes les données dans un seul fichier. Donc, si votre application nécessite une base de données indépendante, SQLite est peut-être le choix parfait pour vous. Il y a, bien sûr, d'autres raisons de choisir SQLite, y compris:
SQLite a une petite empreinte mémoire et une seule bibliothèque est nécessaire pour accéder à des bases de données, le rendant idéal pour les systèmes embarqués applications de base de données.
SQLite a été porté sur de nombreuses plates-formes et fonctionne même sur Windows CE et Palm OS.
SQLite est de l'ACIDE-conforme, la réunion de quatre critères - l'Atomicité, Cohérence, Isolation et Durabilité.
SQLite met en œuvre un grand sous-ensemble de la norme ANSI-92 standard SQL, y compris les vues, les sous-requêtes et les déclencheurs.
Pas de problème supplémentaire de pilotes de base de données, configuration ODBC requis. Il suffit d'inclure la bibliothèque et le fichier de données à votre demande.
SQLite est la langue native Api C/C++, PHP, Perl, Python, Tcl, etc. Des API natives pour le C# n'est toujours pas présent.
Vous pouvez simplement sérialiser la liste vers un fichier xml. C'est de cette manière que vous enregistrez:
Et de la récupération, il est tout aussi facile:
Je choisirais de stockage de fichiers et d'éviter de base de données ou du registre que le premier il a besoin de beaucoup le cadre et le deuxième ... ohh bien, ne jamais jouer avec de Registre 🙂
à l'aide de XML dans un fichier de stockage c'est une excellente lecture:
vous pouvez créer votre fichier pour enregistrer tous les ID dans le même nœud, ou en écrire un ID pour chaque nœud, c'est à vous, quelque chose comme ce serait parfait:
Pour créer ce fichier:
Afin de les lire, vous pouvez utiliser
XmlReader
XmlTextReader
XDocument
etc...Si vous êtes à l'aide de c# 4.0 et au-dessus, vous pourriez avoir un coup d'oeil à la nouvelle Les Fichiers Mappés En Mémoire.
Persisté à l'aide de fichiers Mappés en Mémoire va vous donner la facilité d'utilisation d'un fichier, mais la vitesse de mappés en mémoire. Bien entendu, vous reste à gérer le format de fichier vous-même.
C'est probablement ce qui peut-être exagéré pour 30 entiers, mais c'est une autre option, surtout si la vitesse est la clé.