Frage

Meine ASP.NET MVC 3 -Anwendung verwendet die Integration von Ninject und Ninject ASP.NET MVC 3. Ich habe die CreateKernel -Methode überladen.

Jetzt muss ich auf diese Weise einige Abhängigkeiten pro Abfrage festlegen:

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

Ich tue einige von anforderungsspezifischen Methoden von Global_asax ein schöner Ort für und versuchte, auf einige von Ninjecthttpapplicaton-Eigenschaften zuzugreifen, um Abhängigkeiten pro Anfrage zu registrieren. Ich habe auf Kernel zugegriffen und veraltete Warnung "Ninject als Service Locator nicht verwenden". Was mache ich falsch? Wie mache ich es richtig?

War es hilfreich?

Lösung

Um die Implementierung basierend auf einer Bedingung wie Sprache zu ändern, sollten Sie bedingte Bindungen verwenden. Z.B Bind<IFoo>().To<Foo>().When(ctx => Language == Language.English)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top