Ich mache eine neue asp.net web forms Seite und möchte meine URLs verschönern - ich möchte eine URL wie diese annehmen "www.mysite.com/1-2,3" und drehe sie um wie dieses "www.mysite.com/page.aspx?a=1&b=2&c=3". Welche Option eignet sich am besten für diese Aufgabe - IIS7 URL Rewriting oder Routing in Bezug auf Leistung und Wartungsfreundlichkeit . Übrigens plane ich, Shared Hosting IIS7 mit mittlerem Vertrauen zu verwenden, vielleicht 6.
In der Vergangenheit habe ich PHPs mod_rewrite verwendet, worüber ich ziemlich glücklich war, aber jetzt wird diese ganze Seite in ASP.NET übersetzt, und ich weiß nicht, welche Option ich wählen soll.
PS - Ich habe dies bereits gelesen dies , fand jedoch nicht klar genug für mein Problem.
Ich würde ein starkes Argument für die Verwendung von Routing machen. Es behält die Anforderungsressourcen-Auflösungslogik in Ihrer Anwendung bei, so dass es sehr einfach ist, anwendungsabhängige Logik hinzuzufügen, wenn Sie dies benötigen, und die Synchronisierung zwischen Ihrer Anwendung und einer separaten Konfigurationsressource entfällt.
Routing funktioniert hervorragend mit herkömmlichen Webforms .
URL-Neuschreiben ist oft (wenn auch nicht immer) eine Kompensation für ein Problem und nicht eine Lösung - Serversoftware und Frameworks, die immer noch um den älteren Begriff der Web -Seiten herum aufgebaut sind, die physische Ressourcen darstellen. Web -Anwendungen sollten jedoch auf Anforderungen als Befehle reagieren ; aber nur relativ junge, moderne Web-Frameworks haben begonnen, dieses Modell nativ zu unterstützen. Routing ist eine dieser Entwicklungen.
Ich würde dringend empfehlen, routing zu verwenden , Es wird in der nächsten Version des Frameworks in Webforms integriert sein. URL-Rewriting ist eher ein "Hack", weil das Routing überhaupt fehlschlägt. Wenn Sie bereits ein Projekt haben, das Sie "auf Hochglanz bringen" wollen, dann wird das URL-Rewriting gut funktionieren.
Aber wenn ich von vorne anfange, würde ich definitiv Routing verwenden.
Routing verbirgt die Anwendungsstruktur und lässt Sie mehr an Ihre URLs denken, als Pfad zu dem Inhalt, den Sie anzeigen möchten, im Gegensatz zum Pfad zu einer Seite mit Parametern. Und Sie müssen nicht zwei Dinge im Auge behalten, wenn Sie Dinge ändern, wie Sie es beim Umschreiben tun würden.
mehr in diesem Artikel
IIS 5/6 verwendete die ISAPI-Filterung, die im Grunde äquivalent zu mod_rewrite für IIS war. Ich habe gehört, dass das Umschreiben von URLs in IIS7 viel einfacher zu verwalten und zu konfigurieren ist als ISAPI.
Nun, es hängt davon ab, ob Sie das klassische ASP.Net oder das neue MVC-Framework verwenden. Ich habe keine Erfahrung mit dem MVC-Framework, aber es klingt wie es unterstützt, was Sie aus der Box suchen.
Auf der klassischen Seite von ASP.Net verwenden wir derzeit eine IIS-Erweiterung namens ISAPI_Rewrite . Es verhält sich ähnlich wie Apache mod_Rewrite und sie haben eine freie Version, die Sie verwenden können, die die meiste Macht der bezahlten Version ($ 100) hat.
Tags und Links asp.net url-rewriting url-routing