Перезапуск VS является громоздким, особенно если у вас большой проект.
Мы изменили код плагина specflow ( https://github.com/techtalk/SpecFlow ). Добавлена команда, которая повторно инициализирует область (см. Метод EnsureInitialization) и очищает файл в цепочке.
Теперь мы просто нажимаем на кнопку, когда меняются привязки.
Предполагая, что ваши поставщики услуг настроены примерно так:
<membership>
<providers>
<clear/>
<add name="www.tenant1.com"
type="System.Web.Security.SqlMembershipProvider, ..."
.../>
<add name="www.tenant2.com"
type="System.Web.Security.SqlMembershipProvider, ..."
.../>
</providers>
</membership>
вы можете заставить Виндзор выбрать подходящего провайдера следующим образом:
var container = new WindsorContainer();
container.AddFacility<FactorySupportFacility>();
container.Register(Component.For<MembershipProvider>()
.LifeStyle.Transient
.UsingFactoryMethod(() => Membership.Providers[HttpContext.Current.Request.Url.Host]));
... (your controller registrations, etc)