2011-10-11 6 views
0

Je crée un service Web qui utilise Fluent NHibernate et je développe sur plusieurs machines qui ont bien sûr des chaînes de connexion différentes. Je me demande comment procéder pour configurer le service de test/déploiement dans les différents environnements en plus d'utiliser des fichiers de configuration.Meilleure stratégie de configuration pour tester/déployer dans différents environnements

Par exemple sur chaque machine j'utilise un serveur différent et pour les tests j'utilise une base de test. Je veux pouvoir l'avoir de sorte que lorsque je vérifie sur chaque machine je n'ai pas besoin de modifier un fichier archivé (le .config) pour récupérer la chaîne de connexion. Par exemple:

public interface IDataConfig 
{ 
    public Server { get; set; } 
    public Database { get; set; } 
    public Username { get; set; } 
    public Password { get; set; } 

    public void Initialize(); 
    public string GetConnectionString(); 
    //...Other Fluent-hibernate specific configuration/session methods 
} 

public ServiceDataConfig : IDataConfig 
{ 
    //.... 
} 

public TestDataConfig : IDataConfig 
{ 
    //.... 
} 

Je me demande est la meilleure chose qu'il y ait un fichier de configuration qui se lit dans le connectionstring et toute autre configuration afin que les classes concrètes ramasser ou devrais-je les configurer manuellement après que je vérifie à partir le référentiel.

Répondre

0

Vous souhaitez consulter les transformations Web Config où vous pouvez avoir plusieurs fichiers de configuration pour différents scénarios de déploiement. De cette façon, vous pouvez les avoir tous dans TFS sans aucun problème, il suffit de les cocher et d'en sortir sans avoir à vous soucier de changer les paramètres chaque fois que vous devez les déployer.

http://blogs.msdn.com/b/webdevtools/archive/2009/05/04/web-deployment-web-config-transformation.aspx

enter image description here

+0

bien par le test que je voulais dire des tests unitaires et d'intégration qui se trouvent dans un projet séparé/assemblage. Je suis plus à la recherche d'un moyen de centraliser une bibliothèque de configuration qui teste/services/et toutes les dépendances possibles sur les données pourraient utiliser. – indigo0086

Questions connexes