Ich aktualisiere mein Projekt auf ASPNET5. Meine Anwendung ist eine AngularJS-Webanwendung mit HTML5-URL-Routing ( HTML5-Verlaufs-API ).
In meiner vorherigen App habe ich das URL Rewrite IIS Modul mit folgendem Code verwendet:
%Vor%Ich weiß, dass ich das portieren kann, aber ich möchte meine Windows-Abhängigkeiten minimieren. Von meiner Lektüre denke ich, dass ich in der Lage sein sollte, ASP.NET 5 Middleware zu verwenden, um dies zu erreichen.
Ich denke, der Code würde ungefähr so aussehen, aber ich denke, dass ich ziemlich weit weg bin.
%Vor% Im Wesentlichen möchte ich alles routen, das /api
oder /signalr
enthält. Irgendwelche Vorschläge für den besten Weg, dies in ASPNET5 zu erreichen?
Sie waren auf dem richtigen Weg, aber anstatt eine Weiterleitung zurückzuschicken, wollen wir nur den Pfad auf der Anfrage neu schreiben. Der folgende Code funktioniert ab ASP.NET5 RC1.
%Vor%Ein Problem hier ist, dass Sie Ihre eckigen Routen speziell in die Middleware einprogrammieren müssen (oder sie in eine Konfigurationsdatei einfügen müssen).
Zuerst habe ich versucht, eine Pipeline zu erstellen, in der nach UseDefaultFiles () und UseStaticFiles () aufgerufen wurde, es würde den Pfad prüfen, und wenn der Pfad nicht / api wäre, schreibe es neu und sende es es zurück (da alles andere als / api bereits behandelt worden sein sollte). Allerdings könnte ich das nie zur Arbeit bringen.
Warum verwenden Sie die Routing-Funktion in MVC nicht? In der Configure-Methode in Startup.cs könnten Sie Folgendes ändern:
%Vor%Tags und Links .net asp.net html5 asp.net-core asp.net-web-api-routing