Où dois-je stocker des données de configuration utilisateur? Specifiquement le chemin vers le fichier de données?

StackOverflow https://stackoverflow.com/questions/2511050

Question

J'ai une application utilisant un db SQLite, et j'ai besoin la possibilité pour l'utilisateur de déplacer le fichier de données et pointez l'application à l'endroit où elle avait adopté. Je Entity Framework pour créer le modèle, et par défaut, il met la chaîne de connexion dans le fichier app.config. D'après ce que j'ai lu si je fais des changements à la chaîne de connexion il alors ils ne prendront effet que l'application redémarre. Cela semble un peu maladroit pour mon usage. Je vois comment je peux initialiser mon modèle et passer dans une chaîne personnalisée mais je ne suis pas sûr de la meilleure pratique est où stocker prefrences utilisateur de base comme celui-ci? Ini, registre, un autre endroit? Je ne veux pas que l'utilisateur d'avoir à « ouvrir » le fichier à chaque fois, au moment où il repositionne et l'application va essayer d'ouverture automatique à partir de là.

Était-ce utile?

La solution

Jetez un oeil à Paramètres de l'application pour un aperçu de la façon de créer des paramètres de configuration spécifiques à l'utilisateur qui peuvent être sauvegardés dans un fichier user.config. Le registre est plus ou moins abandonné au profit du nouveau système de fichiers de configuration XML.

Autres conseils

Vous ne devez pas utiliser la chaîne de connexion qui est ajouté à la App.Config. Vous pouvez sauter l'ajouter en fait, dans l'assistant EDMX.

Ensuite, vous avez simplement besoin d'avoir partout en direct la chaîne de connexion que vous choisissez et passez dans votre constructeur ObjectContext.

Vous pouvez mettre la chaîne de connexion dans un fichier externe, le registre, ou chaque fois que vous choisissez.

Il serait logique d'avoir une classe statique qui génère la chaîne de connexion, et saisit l'emplacement du fichier à partir d'une source commune que l'utilisateur peut modifier (ce registre, fichier sur le disque, variable d'environnement, etc.)

Vous pouvez créer une classe de paramètres et serialise ensuite dans un fichier xml avec un nom predfined dans un endroit qui est défini via le fichier app.config. Vous pouvez ensuite contrôler la fréquence du fichier a été lu en vous-même la mémoire. Le seul aurait besoin de spéciaux supplémentaires redémarrer l'application a été si l'emplacement des paramètres fichier modifié.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top