2017-02-09 8 views
-1

Ich habe eine ASP.NET MVC-Anwendung, wo ich WEB API 2 Routing aktiviert habe. Wenn die Anwendung mit der Standard-URL gestartet wird, wird die Standardaktion nicht aufgerufen. Ich erhalte die folgende Nachricht:ASP.NET MVC Routingfehler

"Nachricht": "Die angeforderte Ressource unterstützt http-Methode 'GET' nicht."

Damit begann die auftritt, wenn ich die [Controller spezifische] Routing-Funktion über die config.MapHttpAttributeRoutes aktiviert() Betrieb.

Wenn ich diesen Aufruf nicht einschließen, wird die Standardaktion aufgerufen.

Wenn ich den Anruf in verlassen - kann ich noch die Aktionen zugreifen, indem speziell sie in der URL einschließlich - wie XXX/Home/ XXX/Home/Index

I-Routing in bisherigen Anwendungen integriert haben. Diese Anwendung ist eine Übernahme für mich, und ich kann nicht identifizieren, warum die Standardaktion nicht aufgerufen wird.

+3

Zeigen Sie uns Ihre Controller/Action-Code eine Kopie/einfügen vollständige Fehlermeldung, bitte. –

+1

Haben Sie ein Routing-Attribut auf der Route? Etwas wie '[HttpPost]'? – nurdyguy

+0

gibt es keinen Fehler. – Peter

Antwort

0

Es ist unklar, was tatsächlich passiert, aber es scheint, dass das WEB-API-Routing bei der Interpretation der Basis-URL in die Quere kam. Ich weiß nicht, warum dies der Fall ist, da das Routing für WEB-API auf einer anderen Routing-Signatur basiert. Aber als das dynamische API-Routing aktiviert wurde, trat dieses Problem auf. Ich löste das Problem mit einem Workaround, bei dem ich einen neuen Routen-Handler anwendete und ihn auf eine leere Route-Definition anwendete, die vor allen anderen Routen-Konfigurationen registriert werden musste.

Dies ist nicht ideal, und ich muss immer noch herausfinden, warum die WEB-API-Routen in die Quere kommen.