Вопрос

В моем приложении ASP.NET MVC 3 используется интеграция Ninject и Ninject ASP.NET MVC 3. Я перегружен метод CreateKernel.

Теперь мне нужно установить некоторые зависимости на запрос таким образом:

if (Language == Language.English)
  //register English language implementations
else if (Language == Language.Russian)
  //register Russain language implementations

Я буду некоторыми из методов, специфичных для запроса Global_ASAX, были бы хорошим местом для и попытались получить доступ к некоторым из свойств Ninjecthttpapppppplicaton для регистрации зависимостей для запроса. Я получил доступ к ядру и получил устаревшее предупреждение: «Не используйте Ninject в качестве локатора обслуживания». Что я делаю не так? Как это сделать правильно?

Это было полезно?

Решение

Чтобы изменить реализацию на основе какого -либо условия, например, вы должны использовать условные привязки. Например Bind<IFoo>().To<Foo>().When(ctx => Language == Language.English)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top