2010-07-02 9 views
0

Est-il possible de créer un profil contenant une chaîne de connexion ou des points vers une chaîne de connexion dans app.config? Je voudrais avoir un seul projet qui peut créer plusieurs services selon le profil qui est passé lorsque j'exécute NServicebus.Host.exe.NServicebus: définir la chaîne de connexion dans le profil

donc quelque chose comme ceci:

public class Warehouse1 : IProfile 
{ 
    // Code goes here to set the connection string to the Warehouse1 DB 
} 

public class Warehouse2 : IProfile 
{ 
    // Code goes here to set the connection string to the Warehouse2 DB 
} 

Quand j'execute « NServicebus.Host.exe Entrepôt1 » Je veux que mon éditeur pour utiliser la chaîne de connexion je configurer et utiliser une chaîne de connexion différente quand j'execute « NServicebus. Host.exe Warehouse2 ".

Répondre

1

Vous pouvez envelopper votre chaîne de connexion derrière une interface et faire:

public class Warehouse2ProfileHandler: IHandleProfile {

public void ProfileActivated

{ // en utilisant l'api NSB

Configure.Instance.RegisterSingleton (nouveau Warehouse2CSProvider());

// ou utilisez votre conteneur de choix // ....

}

}

Plus sur la sensibilisation du cycle de vie ici: (la syntaxe a changé depuis que j'ai écrit le poste, mais vous aurez l'idée)

http://andreasohlund.blogspot.com/2009/09/building-lifecycle-aware-applications.html

Hope this helps!