Schloss Windsor ApiController Factory-Implementierung für ASP.NET Web-API
Ich weiß, es ist möglich, DependencyResolver und registrieren Sie Schloss Windsor mit MVC aber aufgrund der beschriebenen Probleme in https://stackoverflow.com/a/4889222/139392 wir geblieben WindsorControllerFactory Methode der Umsetzung auf unsere MVC-Projekten.
Aber es sieht aus wie die ApiControllers mit irgendeiner anderen Art von Fabrik Schloss Windsor ist nicht in der Lage zu injizieren der Abhängigkeiten.
Hat jemand herausgefunden, wie Castle Windsor mit ASP.NET Web-API-und MVC-ohne mit dem DependencyResolver?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dank Critiano post und einige Online-Suche habe ich es geschafft es zum laufen zu bringen hier ist der code für niemanden sonst mit diesem Problem. Ich habe fgot, es funktioniert mit MVC3-und ASP.NET Web-Api-Beta, aber ich denke, die gleiche Lösung sollte funktionieren für MVC4.
Erstens erstellte ich ein WindsorHttpControllerFactory als ApiControllers verwenden Sie ein anderes Werk als das MVC-ones.
Der schwierige Teil war die Registrierung scheint es an der Registrierung beteiligten eine ganze Reihe von anderen Sachen. Dies ist, was ich am Ende mit.
Musste ich meine eigene Implementierung von ILogger könntest du eine stub-version wie unten.
Ich auch angesichts dieses Problem vor zwei Tagen und diese post hat mir geholfen. Und vergessen Sie nicht, fügen Sie WebAPI-Controller im Windsor bootstrap.
UPDATE für ASP.NET MVC 4 RC: Diese nützlich, post erzählt Sie, wie Sie mit Windsor mit WebAPI, es funktioniert wie ein Charme.
Blick auf diese post
Ich nicht wechseln, die noch zu mvc 4 beta, einschließlich web.api (ich bin immer noch mit WCF web api Prev6), aber was hat schon darauf hingewiesen in dem thread scheint der Weg zu gehen
Schrieb ich einen Beitrag darüber, wie dies zu tun, und es Haken bis zu RavenDB, die Sie vielleicht nützlich finden hier
Ich es geschafft habe, zu lösen aus meiner windsor container mit
GlobalConfiguration.Configuration.ServiceResolver.SetResolver
wie gezeigt hier.Beispiel Windsor-Code
Null zurückgeben, wenn Sie nicht beheben können Typen funktioniert, und es scheint, wie MVC werden neue Abhängigkeiten.
Edit:
Stellen Sie sicher, haben Sie ein Installationsprogramm für IHttpController