Ich habe eine ASP.NET MVC 4-Anwendung, die ich Unit of Work-Muster implementieren möchte.
In meinem Webprojekt habe ich:
IocConfig.cs
%Vor%Global.asax
%Vor%PersonenController.cs
%Vor%Wenn ich versuche zu surfen: Ссылка Ich bekomme:
Für dieses Objekt ist kein parameterloser Konstruktor definiert.
Gibt es irgendwelche Sachen, die ich vermisst habe? Ich würde jede Hilfe schätzen.
Hier ist die Zip-Datei des Projekts für bessere Referenzen:
Wep.API verwendet ein anderes IDependencyResolver
als das MVC-Framework.
Wenn Sie HttpConfiguration.DependencyResolver
verwenden, funktioniert das nur für ApiControllers. Aber Ihr ApiControllerBase
stammt von Controller
...
Also sollte Ihre ApiControllerBase
von ApiController
erben.
Ändern Sie es in Ihrem ApiBaseController.cs:
%Vor% Wenn Sie Abhängigkeiten in reguläre Controller
abgeleitete Klassen einfügen möchten, müssen Sie (in Ihrer IocConfig):
Beachten Sie, dass Sie in diesem Fall Ihr NinjectDependencyResolver
nicht verwenden können, weil es für ApiControllers
ist.
Sie benötigen also ein anderes NinjectMvcDependencyResolver
, das System.Web.Mvc.IDependencyResolver
implementieren soll.
Tags und Links asp.net-mvc asp.net-web-api ninject unit-of-work