NServicebus: установить строку подключения в профиле

Можно ли создать профиль, содержащий строку подключения или указывающий на строку подключения в app.config? Я хотел бы иметь один проект, который может создавать несколько служб на основе того, какой профиль передается при выполнении NServicebus.Host.exe.

Что-то вроде этого:

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
}

Когда я запускаю «NServicebus.Host.exe Warehouse1», я хочу, чтобы мой издатель использовал строку подключения, которую я установил, и использовал другую строку подключения, когда я выполняю «NServicebus.Host.exe Warehouse2».


person Justin Holbrook    schedule 02.07.2010    source источник


Ответы (1)


Вы можете обернуть строку подключения за интерфейс и сделать:

открытый класс Warehouse2ProfileHandler: IHandleProfile {

public void ProfileActivated

{ //используя nsb API

Configure.Instance.RegisterSingleton (новый Warehouse2CSProvider());

//или используйте выбранный вами контейнер //....

}

}

Подробнее об осведомленности о жизненном цикле здесь: (синтаксис изменился с тех пор, как я написал пост, но вы поняли идею)

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

Надеюсь это поможет!

person Andreas Öhlund    schedule 02.07.2010