MVC 3 Dependency Injection mit Ninject 2.2 + Global Action Filter

7

Ich versuche, ASP.NET MVC 3 und Ninject 2.2 zu verwenden, um ein Logger-Objekt in ein benutzerdefiniertes ActionFilterAttribute zu injizieren.

Ich kann das zum Laufen bringen, wenn ich jeden Controller mit dem benutzerdefinierten Attribut markiere.

Allerdings kann ich das nicht zum Laufen bringen, wenn ich die Attributdekoration von den Controllern entferne und versuche, einen globalen Aktionsfilter zu verwenden.

Hier ist der Code:

unter App_Start - NinjectMVC3.cs

%Vor%

}

Global.asax.cs

%Vor%

}

TestLoggingAttribute.cs

%Vor%

HomeController.cs

%Vor%

Wie ich bereits erwähnt habe, wenn ich das [TestLogging] Attribut im Controller auskommentiere, funktioniert das alles. Allerdings möchte ich stattdessen einen globalen Filter verwenden. Kann mir jemand helfen?

    
Ken Burkhardt 26.03.2011, 02:08
quelle

1 Antwort

22

Vielleicht finden Sie den folgenden Blogpost nützlich. Also in Ihrer RegisterServices -Methode einfach:

%Vor%

und um die BindFilter Erweiterungsmethode in den Geltungsbereich zu bringen, vergiss nicht eine richtige using Direktive hinzuzufügen:

%Vor%     
Darin Dimitrov 26.03.2011, 12:22
quelle