Frage

Ich habe mehrere URL-Laufwerke für ASP.Net und IIS, und Frage mich, was alle anderen nutzt, und warum.

Hier sind die, die ich verwendet habe, bzw. angesehen werden:

  • ThunderMain URLRewriter:verwendet in einem früheren Projekt, hat nicht ganz die Flexibilität/Leistung waren wir auf der Suche für
  • Ewal UrlMapper:verwendet in einem aktuellen Projekt, aber die Quelle scheint aufgegeben zu sein
  • UrlRewritingNet.UrlRewrite:scheint wie eine anständige Bibliothek, aber die Dokumentation ist schlechte Grammatik lässt mich fühlen, unruhig,
  • UrlRewriter.NET:dies ist meine aktuelle fav, hat große Flexibilität, obwohl die zusätzlichen Funktionen gepumpt Ersatz regexs änderungen der standard .Net regex-syntax ein bisschen
  • Managed Fusion URL Rewriter:Ich fand diese in einem Vorherige Frage auf stack overflow, aber habe nicht versucht es noch, aus der Beispiel-syntax, es scheint nicht bearbeitet werden via web.config
War es hilfreich?

Lösung

+1 UrlRewritingNET.URLRewrite -- verwendet in mehreren hundert Dienstleistungen/Portale/Websites auf einer einzigen box ohne Problem für Jahre!(@Jason-das ist die, die Sie reden, nicht wahr?)

und ich habe auch verwendet, die URLRewriter.NET auf einer persönlichen Website, und Sie fand, ach, interessant.@travis, du hast Recht über die geänderten syntax, aber sobald Sie erhalten verwendet, um es, ist es gut.

Andere Tipps

Es gibt System.Web.Routing, wurde gerade veröffentlicht .NET 3.5.

Sie können einfach Anfordern.RewritePath() in einem benutzerdefinierten HttpModule

Ich bevorzuge die Verwendung eines IHttpHandlerFactory-Umsetzung und haben die volle Kontrolle über alle eingehenden URLs und wo Sie sind, zugeordnet.

Wenn ich starten ein neues web-Projekt jetzt wäre ich auf der Suche mit MVC von Grund auf neu.Verwendet re-geschrieben URLs als standard.

IIS 7 hat ein URL Rewrite-Modul das ist ziemlich fähig und integriert sich gut mit IIS.

Ich habe verwendet UrlRewriting.NET bevor Sie auf einen sehr high-traffic-Website - es funktioniert großartig für uns.Ich glaube die Entwickler sind Deutsche, so die englische Dokumentation ist wahrscheinlich nicht so gut, wie es sein könnte.Ich würde es sehr empfehlen.

Ich habe eine gute Erfahrung mit dem Ionic ist ISAPI Rewrite Filter das ist sehr ähnlich zu ISAPI_Rewrite, Ausnahme kostenlos.Beide sind nach dem Vorbild mod_rewrite und ISAPI-Filter, so dass Sie nicht verwalten können, die im code wie Sie haben zu stellen Sie Sie in IIS.

Ich würde nicht empfehlen, UrlRewritingNet wenn Sie sind in einem IIS7 Windows 2008 Umgebung.

Grund:UrlRewritingNet erfordert, dass Sie app-pool-Modus = Klassikers und NICHT integriert.Dies ist nicht optimal Auch Ihr Projekt scheint sehr tot, die letzten 2 Jahre.

Ich habe gerade installiert Helicon ' s ISAPI Rewrite 3.Genau so funktioniert wie htaccess.Ich bin diggin es so weit.

Ich verwendet .NET-URL-Rewriter-und Reverse-Proxy mit großem Erfolg.Es ist fast auf Augenhöhe mit mod_rewrite und nutzt fast alle die gleiche syntax.Der Besitzer des Projekts ist sehr hilfsbereit und freundlich und das Produkt funktioniert Super.Dieses Juwel bietet sowohl Umschreiben und Proxy-Funktionen, die viele Lösungen nicht bieten.IMO, lohnt sich ein Blick.

+1 für UrlRewritingNet.UrlRewrite auch, aber warum muss ich immer am Ende meiner URL mit .aspx?Ich denke, es sollte verbessert werden, besser regulären Ausdruck partern.

Warum muss ich immer haben, am Ende mit aspx-in virtualURL localhost/Produkte/Getränke.aspx", "localhost/Produkte/Gewürze.aspx".Ich will nur geben Sie localhost/Produkte/Getränke", "localhost/Produkte/Gewürze", die Aussehen wie MVC-route.

Diese ein gut Aussehen, aber es funktioniert nicht für meine Website.Ich kann es immer noch nicht herausfinden.

asp.net routing dient der Anforderung von url-rewriting, als auch und sogar viel mehr als.Mit asp.net routing Sie können nicht einfach "umschreiben der url" aber das erstellen von benutzerdefinierten Handler für verschiedene Anfragen.asp.net routing erfordert jedoch mindestens asp.net sp1.

Die grundlegende Sache, die Sie tun, für eine einfache routing funktionieren wird, fügen Sie ein paar route-Handler in der Application_Start-auch innerhalb der Globalen.asax.cs-Datei.

 protected void Application_Start(object sender, EventArgs e)
        {

                        RegisterRoutes(RouteTable.Routes);


        }
        private static void RegisterRoutes(RouteCollection routes)
        {          

            routes.Add("Routing1", new Route("/Blog/id/2","/Blog.aspx"));

        }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top