Question

Mon ASP.NET MVC 3 application utilise Ninject et Ninject intégration ASP.NET MVC 3. J'ai surchargé méthode CreateKernel.

Maintenant, je dois définir certaines dépendances par requête de cette façon:

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

Je thougt certaines des méthodes spécifiques de demande Global_asax serait un endroit agréable et essayé d'accéder à certaines propriétés NinjectHttpApplicaton pour enregistrer les dépendances par demande. J'ai accédé noyau et obtenu avertissement obsolète « Ne pas utiliser Ninject comme Service de localisation ». Qu'est-ce que je fais mal? Comment faire droit?

Était-ce utile?

La solution

Pour modifier la mise en œuvre en fonction de certaines conditions comme la langue, vous devez utiliser les liaisons conditionnelles. Par exemple. Bind<IFoo>().To<Foo>().When(ctx => Language == Language.English)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top