ile çalışıyorum ASP.Net MVC 4 Web API denetleyicim Unity.WebApi ile çalışmaz. Aynı projede basit kontrolörler Unity.Mvc3 ile düzgün bir şekilde çalışır. Ama bir ileti alıyorum ApiController türetilen Web API denetleyicisi çalıştırdığınızda:ASP.Net MVC 4 Web API denetleyicisi ile çalışma Unity.WebApi
{ "$ id": "1", "Mesaj": "Bir hata oluştu", "ExceptionMessage":" ": "System.ArgumentException", "StackTrace": "Tip 'ElectricTests.Controllers.Api.DocumentsController' bir varsayılan yapıcı"," ExceptionType yok System.Linq.Expressions.Expression.New de (Tip tip) \ r \ n System.Web.Http.Internal.TypeActivator.Create [tbase] (Tip instancetype de) \ r \ n System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator de (HttpRequestMessage istek, Tip kontrol Tip, Func`1 & aktivatörü) \ r \ n System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create de (HttpRequestMessage isteği HttpControllerDescriptor controllerDescriptor, Tip controllerType) "}
My ApiController:
public class DocumentsController : ApiController
{
private readonly IDocumentsRepository _repository;
public DocumentsController(IDocumentsRepository repository) {
_repository = repository;
}
public IEnumerable<FormattedDocument> GetFormattedDocuments()
{
return _repository.GetAllFormattedDocuments();
}
...
Bootstrapper.cs:
public static class Bootstrapper {
public static void Initialise() {
IUnityContainer container = BuildUnityContainer();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
}
private static IUnityContainer BuildUnityContainer() {
var container = new UnityContainer();
// register all your components with the container here
// it is NOT necessary to register your controllers
// e.g. container.RegisterType<ITestService, TestService>();
container.RegisterType<IDocumentsRepository, DocumentsRepository>();
container.RegisterType<IQuestionsRepository, QuestionsRepository>();
container.RegisterType<ITestRepository, TestsRepository>();
return container;
}
}
benim hatadır?
istisna metni: DocumentsController bir varsayılan kurucu –
bu makalede çözüldü bu sorun yok: http://www.asp.net/web-api/overview/extensibility/using-the-web-api-dependency -resolver – Oblomingo