ASP.NET 5 HTML5-Verlauf

8

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?

    
amcdnl 02.07.2015, 12:16
quelle

3 Antworten

4

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.

    
Bill 19.01.2016 16:48
quelle
0

Ich benutze:

%Vor%

Dies führt dazu, dass alle Routen auf die Home-Indexseite treffen. Wenn ich Routen brauche, die außerhalb dieser Route liegen, füge ich sie vor dieser Route hinzu, da dies zu einer "Catch All Route" wird.

    
Rangoric 03.03.2016 14:34
quelle
-1

Warum verwenden Sie die Routing-Funktion in MVC nicht? In der Configure-Methode in Startup.cs könnten Sie Folgendes ändern:

%Vor%     
Michael Palermo 09.07.2015 23:38
quelle