Domanda

Ho guardato diversi URL, masterizzatori per ASP.Net e IIS e si stava chiedendo che tutti gli altri usi, e perché.

Qui ci sono quelli che ho usato o guardato:

  • ThunderMain URLRewriter:utilizzato in un precedente progetto, non abbastanza hanno la flessibilità e le prestazioni che stavamo cercando
  • Ewal UrlMapper:utilizzato in un progetto in corso, ma la fonte sembra essere stato abbandonato
  • UrlRewritingNet.Urlrewrite si può:mi sembra una discreta libreria, ma la documentazione di grammatica mi lascia la sensazione di disagio
  • UrlRewriter.NET:questa è la mia fav, ha una grande flessibilità, anche se le funzioni extra pompata in sostituzione regexs modifiche standard .Netta la sintassi delle espressioni regolari un po'
  • Gestito Fusione URL Rewriter:Ho trovato questo in un domanda precedente su stack overflow, ma non ho provato ancora, dalla sintassi di esempio, non sembra essere modificabile tramite web.config
È stato utile?

Soluzione

+1 UrlRewritingNET.Urlrewrite si può -- utilizzato in diverse centinaia di servizi/portali/siti su un singolo dialogo senza problema per anni!(@Jason -- che è quello di cui stai parlando, giusto?)

e ho anche usato il URLRewriter.NET su di un sito personale, e l'ho trovato, ah, interessante.@travis, hai ragione circa le modifiche sintassi, ma una volta che ci si abitua ad esso, è buona.

Altri suggerimenti

Non c'è Sistema.Web.Di Routing che è appena stato pubblicato, con .NET 3.5.

È possibile utilizzare solo Richiesta.RewritePath() in un HttpModule personalizzato

Io preferisco usare un IHttpHandlerFactory di attuazione e di avere il pieno controllo su tutti gli Url in ingresso e in cui sono mappati.

Se io fossi l'avvio di un nuovo progetto web ora sarei guardando con MVC da zero.Che utilizza riscrivere gli Url come standard.

IIS 7 è un URL Rewrite Module che è abbastanza capace e ben si integra con IIS.

Ho usato UrlRewriting.NET prima su un sito ad alto traffico - ha funzionato alla grande per noi.Credo che gli sviluppatori non sono in tedesco, quindi la documentazione in inglese probabilmente non è buono come potrebbe essere.Io consiglio vivamente.

Ho avuto una buona esperienza con Ionici del ISAPI Rewrite Filtro che è molto simile a ISAPI_Rewrite, tranne gratuito.Entrambi sono modellati dopo il mod_rewrite e sono filtri ISAPI, quindi non è possibile gestire, in codice, come si deve impostare in IIS.

Non vorrei raccomandare UrlRewritingNet, se siete in un IIS7 Windows 2008 ambiente.

Motivo:UrlRewritingNet richiede la app piscina mode = Classico e NON integrata.Questo non è ottimale Inoltre, il loro progetto che mi sembra molto morti che negli ultimi 2 anni.

Ho appena installato Helicon ISAPI Rewrite 3.Funziona esattamente come htaccess.Io sto diggin finora.

Ho usato .NETTO URL Rewriter e Reverse Proxy con grande successo.È quasi alla pari con il mod_rewrite e usa quasi tutti la stessa sintassi.Il titolare del progetto è estremamente cordiale e disponibile e il prodotto funziona alla grande.Questo gioiello offre sia la Riscrittura e la funzionalità di Proxy, che molte soluzioni non offrono.IMO, la pena dare un'occhiata.

+1 per UrlRewritingNet.Urlrewrite si può troppo, ma perché ho sempre bisogno di finire il mio URL .aspx?Penso che dovrebbe essere migliorata la migliore espressione regolare partern.

Perché devo sempre finire con aspx in virtualURL localhost/Prodotti/Bevande.aspx", "localhost/Prodotti/Condimenti.aspx".Voglio solo digitare localhost/Prodotti/Bevande", "localhost/Prodotti/Condimenti" che sembrano MVC percorso.

Questo uno sguardo buono, ma non è che non funziona per il mio sito.Io ancora non riesco a capire.

asp.net routing serve il requisito di riscrittura degli url come bene e anche molto di più.Con asp.net il routing è possibile non solo "riscrittura degli url", ma creare i gestori personalizzati per le varie richieste.asp.net routing richiede comunque almeno asp.net sp1.

La cosa di base che si fa per un semplice routing è aggiungere un paio di percorso gestori di Application_Start anche all'interno del Globale.asax.cs file.

 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"));

        }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top