Web Api 2 + OWIN 3 + NInject.Web.WebApi.OwinHost, nur beim Start Fehler

8

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

    
vm2013 17.02.2015, 20:25
quelle

2 Antworten

5

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.

    
vm2013 23.02.2015, 09:18
quelle
9

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.

    
ngm 09.07.2015 12:21
quelle

Tags und Links