Ich habe ein ASP.NET MVC 3-Projekt mit Ninject (NuGet installieren). Ich versuche zu verstehen, wie ich damit Abhängigkeiten in Nicht-MVC-Objekte injizieren kann.Verwendung von Ninject in einer ASP.NET MVC-Anwendung für Nicht-MVC-Objekte
Ich habe einen Code, der ähnlich wie folgt aussieht. Wie kann ich Ninject verwenden, um eine konkrete Instanz von IStore in dem Objekt darunter zu erhalten?
public class SomeObject
{
private static IStore _store;
public static IStore CurrentStore
{
get
{
if (_store == null)
{
// Get Instance of _store.
}
return _store;
}
}
}
In Global.asax:
protected Application_BeginRequest()
{
IStore store = SomeObject.CurrentStore;
}
In NinjectWebCommon.cs:
private static void RegisterServices(IKernel kernel)
{
// Module that binds a concrete type of IStore.
kernel.Load<WebModule>();
}
Diese Methode funktioniert gut, außer es bedeutet, dass ich _store für null überprüfen muss und legen Sie den Wert in meinem Modul, die für jede Anfrage ausgeführt wird. Gibt es einen saubereren Weg? –