ASP.NET MVC WebApi: Kein parameterloser Konstruktor für dieses Objekt definiert

8

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:

Ссылка

    
VAAA 31.08.2012, 14:40
quelle

2 Antworten

8

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):

verwenden %Vor%

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.

%Vor%     
nemesv 31.08.2012, 14:56
quelle
1

Ich weiß, das ist ein alter Thread, aber das könnte für jemanden nützlich sein. :) In meinem Fall fehlte das DependencyResolver auf NinjectWebCommon.cs . Ich folgte diesem Artikel und alles hat gut funktioniert.

%Vor%     
elzero 12.02.2018 14:35
quelle