Я использую структуру IoC Simple Injector и хочу иметь возможность изменять регистрацию зависимостей во время выполнения. . Например, у меня есть две реализации, A
и B
, интерфейса I
. Реализация A
регистрируется при запуске приложения, но в зависимости от некоторого флага, который может меняться во время выполнения, я хотел бы переключить реализацию. В настоящее время мы делаем это с событием OnActionExecuting
нашего BaseController
, от которого наследуются все наши контроллеры. Вот пример кода того, что я пытаюсь сделать.
protected override void OnActionExecuting(
ActionExecutingContext filterContext)
{
if (IsRuntimeFlag)
{
// check current implementation type and
// change implementation to A
}
else
{
// check current implementation type and
// change implementation to B
}
base.OnActionExecuting(filterContext);
}
Заранее спасибо за вашу помощь.