2015-12-16 11 views
7

Ich versuche Sub-Domain-Routing in meiner ASP.NET 5-Anwendung arbeiten.Subdomain-Routing in ASP.NET 5

Ich möchte im Grunde http://api.example.com auf einen bestimmten Controller in meiner Anwendung abzubilden, http://map.example.com zu einem anderen Controller usw.

Ich habe an verschiedenen Artikeln über diese aussah, aber sie sind alle veraltet und funktionieren nicht mit der neueste Version des ASP.NET-Framework.

Der official documentation fehlen Informationen zum Routing. Vielleicht ist es meine eigene Schuld, wenn ich versuche, ein Beta-Produkt zu benutzen!

Ich freue mich darauf, einige Ideen zu hören, wie man das funktioniert.

+0

Vielleicht können Sie eine 'Middleware' schreiben, die den Pfad neu schreibt –

+0

Haben Sie eine Antwort auf dieses Problem? Bitte teilen. – apero

+0

@aguafrommars Wie können Sie dies mit Middleware erreichen? – apero

Antwort

-2

Wenn ich Ihre Absicht richtig verstehe, ist ASP.NET-Routing nicht der richtige Weg dafür.

Wenn dies für ASP.NET-Versionen vor 5.0 war, hätte ich vorschlagen, dass Sie die Anfrage abfangen, bevor es in Application_BeginRequest() weitergeleitet wird und nach HTTP_HOST Request Header suchen, um festzustellen, welche Website der Benutzer besuchen wollte.

Ich sehe, dass der Anwendungsfluss in vNext in einer großen Weise geändert hat. Allerdings stieß ich auf dieses Beispiel aus der ASP.NET MVC 6-Quelle auf GitHub, die eine benutzerdefinierte Route auf der Basis eines "Benutzer" -Kopfs in der Anfrage erstellt: Ich glaube, dass dies die Startvorlage für eine ähnliche Lösung für Ihre sein kann Problem, wenn Sie stattdessen den Header "HTTP_HOST" verwenden.

Viel Glück, lassen Sie uns wissen, wenn Sie in der Lage sind, eine funktionierende Lösung zu implementieren.

+1

ASP.NET 5 hat keine 'Application_BeginRequest' Ereignis. – mason

+0

In der Tat, ich habe nicht auf die Versionsdetails geachtet. Ich aktualisiere meine Antwort entsprechend. – Cahit