Ich suche nach einer Möglichkeit, die URL neu zu schreiben, falls der Anwendungspfad in der URL ein anderes Gehäuse hat. Da der Anwendungspfad für verschiedene Bereitstellungen variieren kann, muss ich dynamisch darauf zugreifen. Gibt es eine Möglichkeit, es zu tun?
Hintergrund:
Ich setze den Pfad der Cookies zum Anwendungspfad. Da der Cookie-Pfad die Groß- und Kleinschreibung unterscheidet, muss ich URLs neu schreiben, falls sie falsch eingebunden sind. Ich möchte auch alternative Möglichkeiten haben, die das Verwenden des URL-Umschreibungsmoduls nicht benötigen.
Beispiel
Nehmen wir an, dass für eine Bereitstellung der Alias für die Anwendung "ApplicationA" ist (für eine andere Bereitstellung kann der Alias "ApplicationB" sein).
%Vor%Aktualisiert
Ich schlage vor, dass Sie das Ereignis BeginRequest
mit einem HTTPModule abonnieren.
Mit der RewritePath
-Methode würden Sie Geschwindigkeit gegen Redirect
bekommen, wo Sie die URL einfach anpassen und neu schreiben, wenn das Gehäuse falsch ist, ... oder einfach nur das Gehäuse anpassen, schneller als es zuerst prüfen und Passen Sie dann an (testen und sehen, bevor Sie die Lösung auswählen).
Ein positiver Nebeneffekt ist, dass Sie leicht andere Tests durchführen und Ausnahmen machen können.
%Vor%Randnotiz:
Ich empfehle immer noch den Kleinbuchstabenpfad an erster Stelle.
Ich denke, ein benutzerdefiniertes HTTP-Modul erstellen und hinzufügen kann Ihr Problem lösen. Ein HTTP-Modul wird bei jeder Anfrage als Reaktion auf die Ereignisse BeginRequest
und EndRequest
aufgerufen.
Sie können dynamisch auf die URL zugreifen und sie umleiten, indem Sie die Groß- / Kleinschreibung ändern.
%Vor%Nur ein Gedanke, wenn man erwägen würde, die Camel-Case-Notation (ApplicationA) zugunsten von forced beispielsweise in Kleinbuchstaben * (applicationa) aufzugeben, könnte man das ToLower-Schlüsselwort wie folgt verwenden:
%Vor%* Wenn Sie in der URL Ihrer ursprünglichen camelCase-Notation verpflichtet sind, würde ich auf Uriils obige Vorgehensweise verzichten.
Tags und Links c# asp.net iis url-rewrite-module