Wie erhalte ich Zugang zu RouteTable.Routen.MapHttpRoute?
Ich habe eine Web-Forms-Anwendung, die ich erstellt vor ein paar Monaten und ich habe eine Web-API-controller. Ich habe versucht, die 'automatisch', routing, sah ich in einer Präsentation kürzlich, aber alles was ich bekam, war ein 404. Dann habe ich versucht, um das routing für die Web-API-controller in mein Global.asax mit MapHttpRoute, wie ich gesehen habe in mehreren tutorials. Jedoch, sogar nach dem hinzufügen Imports System.Web.Http
auf die Datei, wird das Projekt nicht erkennen RouteTable.Routes.MapHttpRoute()
ich habe versucht, hinzufügen von anderen namespaces und dafür, dass ich alle notwendigen Nuget-Pakete, aber ich bin immer noch unfähig routing für die Web-API-controller. Hat jemand eine Empfehlung wo anfangen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich dieser thread, was bedeutet, dass IntelliSense-hat offenbar ein problem mit diesem, aber wenn Sie etwas wie das folgende, wird es erstellen und ausführen:
Wenn jemand hat das gleiche Problem in C# Lesen.
Ich bin auch mit einem web-forms-Anwendung und legen Sie das routing durch die
Global.asax
- Datei. Für mich Intellisense war 100% richtig und es würde nicht bauen, unabhängig. Um dieses zu erhalten, Arbeit, die ich hatte, um fügen Sie die folgenden using-Direktiven.und
Becareful nicht zu verwenden
using System.Web.Http.Routing
durch Zufall. Das wird nicht funktionieren.Sollten Sie den Verweis auf System.Web.Http.WebHost Montage und stellen Sie sicher, Sie haben
Warum ? MapHttpRoute definiert ist, in zwei Baugruppen, die in
System.Web.Http
:Mitglied
System.Web.Http.HttpRouteCollectionExtensions
und in
System.Web.Http.WebHost
Erste ist eine Erweiterung auf HttpRouteCollection
Zweite ist eine Erweiterung auf RouteCollection
So, wenn Sie haben eine webforms-app, die Routen definiert sind, in einem
RouteCollection
so müssen Sie dieWebHost
version.Sein, weil Architektur ermöglicht WebApi gehostet werden, auch aus der IIS. sehen Hosting-WebApi
MapHttRoute
aber es war nicht fürRouteCollection
Ich habe gerade zwei neue webforms-apps (eine mit .NET 4, die anderen 4,5), habe nichts anderes getan, als das hinzufügen einer web-api über nuget und es funktionierte.
Welche version von ASP.NET ist Ihre app ausgeführt werden? Wenn Sie mit ASP.NET WebForms 2.0/3.5, dann ist es nicht unterstützt.
Hier ist ein tutorial, das zeigt, wie hinzufügen einer Web-API, um Ihre Web-Forms-Anwendung - http://www.asp.net/web-api/overview/creating-web-apis/using-web-api-with-aspnet-web-forms