Pregunta

Mi aplicación ASP.NET MVC 3 utiliza la integración Ninject y Ninject ASP.NET MVC 3. He sobrecargado el método de createkernel.

Ahora necesito establecer algunas dependencias por consulta de esta manera:

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

A pesar de que algunos de los métodos específicos de solicitudes de Global_asax serían un buen lugar e intentan acceder a algunas de las propiedades NinjecThtpApplicaton para registrar dependencias por solicitud. Accedí al kernel y obtuve una advertencia obsoleta "No use Ninject como localización de servicios". ¿Qué estoy haciendo mal? ¿Cómo hacerlo bien?

¿Fue útil?

Solución

Para cambiar la implementación en función de alguna condición, como el lenguaje, debe usar enlaces condicionales. P.ej Bind<IFoo>().To<Foo>().When(ctx => Language == Language.English)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top