Ich baue eine Rest API mit Web API2, Owin 3 und NInject Owinhost für meine DI.
Unter Verwendung des von NInject bereitgestellten Beispiels, mit dem ich ein "HttpConfiguration" -Objekt erstelle und die NInject-Erweiterungsmethoden in startup.cs aufrufen, erhalte ich einen Fehler:
Fehler beim Aktivieren von HttpConfiguration Mehr als eine passende Bindung ist verfügbar. Passende Bindungen: 1) Bindung von HttpConfiguration an Methode 2) Self-Binding von HttpConfiguration 3) Bindung von HttpConfiguration an einen konstanten Wert Aktivierungsweg: 1) Anfrage für HttpConfiguration
Vorschläge: 1) Stellen Sie sicher, dass Sie eine Bindung für HttpConfiguration nur einmal definiert haben.
Mein Code ist wie folgt in Startup.cs:
%Vor%Das Seltsame ist, wenn ich die Seite im Browser aktualisiere, geht der Fehler, was mich zu der Annahme verleitet, dass dies nur beim Start der Anwendung geschieht.
Ich bin damit verwirrt. Hat jemand das gleiche Problem damit konfrontiert?
Danke
Vincent
AKTUALISIEREN
Nachdem ich alles versucht hatte, gelang es mir, es zum Laufen zu bringen ... Ein neues Projekt von Grund auf neu zu beginnen. Ich hatte den Luxus, dies zu tun, weil es für mich ein neuer Proof of Concept ist.
Der Hauptunterschied besteht darin, dass ich die benötigten Pakete (owin 3, ninject) mithilfe der Package Manager-Konsole anstelle der Benutzeroberfläche installiert habe. Ich habe diesen Link hier verfolgt, um diese Pakete zu installieren.
Ich habe dann eine Fehlermeldung auf einem der Pakete bemerkt, als es nach Abhängigkeiten von Owin 2 gesucht hat und keine gefunden hat. Ich habe es gezwungen, mit dem Parameter -DependencyVersion Highest als Parameter zu installieren, und es funktionierte von Anfang an einwandfrei.
Wenn ich es nicht übersehen habe, habe ich diesen Fehler nicht gesehen, als ich die Pakete über die Benutzeroberfläche installiert habe. Ist es möglich, dass das Paket zuvor nicht korrekt auf meinem anderen Projekt installiert wurde? Nicht sicher.
Hoffe das hilft jemandem.
Ich hatte denselben Fehler, weil ich aus irgendeinem Grund sowohl Ninject.Web.WebApi.WebHost
als auch Ninject.Web.WebApi.OwinHost
installiert hatte.
Wenn Sie in der Quelle nach OwinWebApiModule suchen .cs und WebApiWebHostModule.cs , beide Ninject Module haben eine Bindung für HttpConfiguration
.
Ich entfernte das, was ich nicht brauchte und die Dinge funktionierten.
Tags und Links asp.net-web-api rest owin ninject