Vra

Ek het gekyk na 'n paar URL ReWriters vir ASP.Net en IIS en het gewonder wat al die ander gebruike, en hoekom.

Hier is die mense wat ek gebruik of kyk na:

  • ThunderMain URLRewriter : gebruik in 'n vorige projek, het nie heeltemal het die buigsaamheid / prestasie wat ons gesoek het
  • Ewal UrlMapper : gebruik in 'n huidige projek, maar bron blyk te wees verlate
  • UrlRewritingNet.UrlRewrite : lyk soos 'n ordentlike biblioteek maar swak grammatika dokumentasie se laat my voel ongemaklik
  • UrlRewriter.NET : dit is my huidige fav, het 'n groot buigsaamheid, hoewel die ekstra funksies in die vervanging gepomp regexs verander die standaard Net regex sintaksis 'n bietjie
  • Bestuurde Fusion URL ReWriter : Ek het gevind dat hierdie een in 'n vorige vraag op stapel oorloop, maar het dit nog nie probeer het, uit die voorbeeld sintaksis, dit kom nie ' t lyk bewerkbaar wees via Web.config
Was dit nuttig?

Oplossing

1 UrlRewritingNET.URLRewrite - gebruik in 'n paar honderd dienste / portals / terreine op 'n enkele vak sonder kwessie vir jare! (@Jason - dit is die een waarvan jy praat, regs)

en Ek het ook gebruik word om die URLRewriter.NET op 'n persoonlike webwerf, en gevind dat dit, ah, interessant. @travis, jy is reg oor die veranderde sintaksis, maar sodra jy daaraan gewoond te raak, is dit goed.

Ander wenke

Daar is System.Web.Routing wat net vrygestel met NET 3.5.

Jy kan net gebruik Request.RewritePath () in 'n persoonlike HttpModule

Ek verkies die gebruik van 'n IHttpHandlerFactory implementering en het volle beheer oor alle inkomende URLs en waar hulle gekarteer is.

As ek 'n nuwe web projek begin nou Ek sal kyk na die gebruik van MVC van nuuts af. Wat gebruik maak van re-geskryf URLs as standaard.

IIS 7 het 'n URL Rewrite Module dit is redelik bekwame en integreer goed met IIS.

Ek het UrlRewriting.NET gebruik voor op 'n baie hoë-verkeer webwerf - dit het gewerk groot vir ons. Ek glo die ontwikkelaars is Duits, so die Engelse dokumentasie is waarskynlik nie so goed soos dit kon wees. Ek sal raai dit.

Ek het 'n goeie ondervinding met Ioniese se ISAPI Herskryf Filter wat baie gehad soortgelyk aan ISAPI_Rewrite, behalwe gratis. Albei is gemodelleer na mod_rewrite en is ISAPI filters, sodat jy kan hulle nie daarin slaag in kode as jy het om hulle te rig op IIS.

Ek sou nie UrlRewritingNet beveel as jy in 'n IIS7 Windows 2008 omgewing.

Die rede: UrlRewritingNet vereis dat jy inligting swembad af = Classic en nie geïntegreer. Dit is nie 'n optimale Ook hul projek lyk baie dooies wat duur 2 jaar.

Ek het nou net geïnstalleer Helicon se ISAPI Herskryf 3 . Werk presies soos htaccess. Ek is dit diggin tot dusver.

Ek gebruik NET URL ReWriter en Reverse Proxy met groot sukses. Dit is amper op gelyke voet met mod_rewrite en gebruik byna almal van dieselfde sinsbou se. Die eienaar van die projek is baie behulpsaam en vriendelik en die produk werk baie goed. Hierdie juweel bied beide Herskrywing en Proxy funksies, wat baie oplossings bied nie. IMO, die moeite werd om 'n blik.

1 vir UrlRewritingNet.UrlRewrite te maar hoekom moet ek altyd na my URL eindig met Aspx? Ek dink dit moet verbeter beter regular expression partern.

Hoekom moet ek altyd aan die einde met ASPX in virtualURL localhost / Products / Beverages.aspx "," localhost / Products / Condiments.aspx ". Ek wil net localhost / Produkte tik / Beverages", "localhost / Products / speserye "wat lyk soos MVC roete.

Dit een goed lyk, maar dit is nie werk vir my site . Ek kan nog nie uit.

asp.net routing dien die vereiste van url so goed en selfs veel meer as herskryf. Met asp.net routing jy kan nie net "herskryf die url" maar skep persoonlike hanteerders vir verskeie versoeke. asp.net routing vereis egter ten minste asp.net SP1.

Die basiese ding wat jy doen vir 'n eenvoudige routing te werk is voeg 'n paar roete hanteerders in die Application_Start selfs binne-in die lêer Global.asax.cs.

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

        }
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top