2011-12-14 2 views
2

J'ai un tas d'applications console qui se déclenchent mutuellement ou sont appelées par un planificateur, un site Web qui sert de frontal à ces applications et une base de données à laquelle toutes les applications ont accès. Toutes les applications ont leurs propres fichiers app.config/web.config. Cependant, il y a quelques informations (à faire avec les emplacements de serveur, les contrôles de rapport d'erreur et ainsi de suite) que toutes ces applications doivent connaître.Stockage des informations de configuration pour une solution

Où est le meilleur endroit pour stocker cette information de configuration? Ma première idée était de le stocker dans le serveur SQL dans une table Configuration, mais ce n'est pas si attrayant.

Où dois-je stocker les informations de configuration auxquelles tous les projets/applications d'une solution ont accès?

Répondre

2

Je stockerais ceci au même endroit que votre AssemblyInfo.cs partagé ou votre fichier de clé de nom fort (.snk) - en supposant que vous partagiez ces fichiers entre vos projets.

Ainsi, votre dossier racine de votre solution ressemblerait à ceci:

Project1Dir
Project2Dir
AssemblyInfo.cs
MySolution.sln
key.snk
shared.config

et que vous utilisez 'Ajouter comme lien' pour chacun de vos projets qui nécessitent shared.config

+0

Cela semble être une assez bonne idée, mais cela fonctionnera-t-il bien si l'information doit être mise à jour sur un système déployé? Par exemple, mon système a une liste d'adresses email auxquelles des messages d'erreur/d'avertissement sont envoyés. C'est le genre de chose que je pourrais avoir besoin de mettre à jour après le déploiement. – Oliver

+0

La config partagée serait juste un autre fichier dans chacun de vos projets, tout comme les projets 'app.config' - donc le processus serait le même que la façon dont vous gérez les mises à jour d'autres fichiers 'statiques' dans votre projet. Comment gérer les fichiers de configuration dans les solutions déployées est un autre sujet en soi (est-ce ce que vous demandez?) – wal

+0

Le différent est, un fichier de projet app.config est seulement dans un endroit. Si vous avez besoin de le changer, vous pouvez simplement trouver le fichier, puis le modifier. 'shared.config' serait cloné pour chacun des projets, donc pour le changer dans une solution déployée, vous devriez éditer chaque fichier séparément - au moins, c'est ainsi que je pense que cela fonctionne. – Oliver

Questions connexes