Mein ASP.Net MVC 4 Web API-Controller funktioniert nicht mit Unity.WebApi. Im selben Projekt arbeiten einfache Controller ordnungsgemäß mit Unity.Mvc3. Aber wenn ich Web-API-Controller von ApiController abgeleitet ausführen, bekomme ich eine Nachricht:
{"$ id": "1", "Nachricht": "Ein Fehler ist aufgetreten.", "ExceptionMessage": "Type 'ElectricTests.Controllers.Api.DocumentsController' hat keine a Standard Konstruktor "," ExceptionType ":" System.ArgumentException "," StackTrace ":" bei System.Linq.Expressions.Expression.New (Typ) \ r \ n at System.Web.Http.Internal.TypeActivator.Create [TBase] (Typ instanceType) \ r \ n bei System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator (HttpRequestMessage Anfrage, Typ controllerType, Func'1 & amp; Aktivator) \ r \ n bei System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create (HttpRequestMessage Anfrage, HttpControllerDescriptor ControllerDescriptor, Typ controllerType) "}
Mein ApiController:
%Vor%Bootstrapper.cs:
%Vor%Wo ist mein Fehler?
Die Handhabung von Controller und ApiController ist anders, da sie völlig unterschiedliche Basisklassen haben:
Ich verwende die Unit Unity.MVC4 für den Controller DI ( Ссылка )
%Vor%und Unity.WebAPI für DI ( Ссылка )
%Vor%Ihr Bootstrapper sollte eine Kombination aus beiden sein:
%Vor%Hinweis: Ich musste auch eine Registrierung hinzufügen, damit die Hilfeseite funktioniert
%Vor%Als Inhaber von Unity.MVC4 möchte ich WebApi in unserer Bibliothek implementieren.
Tags und Links c# asp.net api json unity-container