Domanda

Il mio ASP.NET MVC 3 usi applicativi Ninject e Ninject ASP.NET MVC 3 integrazione. Ho sovraccaricato metodo CreateKernel.

Ora ho bisogno di impostare alcune dipendenze per query in questo modo:

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

I thougt alcuni dei metodi di richiesta specifica di Global_asax sarebbe un bel posto e ha cercato di accedere ad alcune delle proprietà NinjectHttpApplicaton per registrare le dipendenze per richiesta. Ho acceduto kernel e ottenuto avvertimento obsolete "Non utilizzare Ninject come servizio di individuazione". Che cosa sto facendo di sbagliato? Come per farlo bene?

È stato utile?

Soluzione

Per cambiare l'attuazione sulla base di alcune condizioni come il linguaggio si dovrebbe usare attacchi condizionali. Per esempio. Bind<IFoo>().To<Foo>().When(ctx => Language == Language.English)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top