Vraag : Het lezen van xml dossier in global.asax om ijdelheid opnieuw te richten url om pagina te verbeteren

Ik heb een xmldossier gecre�ërd dat een ijdelheid url en heeft opnieuw richten url. Ik wil globale asax dit dossier lezen om het paginaverzoek aan de aangewezen pagina opnieuw te richten. Zo bijvoorbeeld als iemand in typt heeft http://www.company.com/pro ducts dat aan http://www.company.com/sit eproducts/default.aspx opnieuw wordt gericht. Hieronder is één of andere code I wrote.







global.asax

void Application_BeginRequest (object afzender, EventArgs e)
{/> koord
koord
XmlDocument doc. = nieuwe XmlDocument (); /> doc. redirects.xml“));
XmlNodeReader nodeReader = nieuwe XmlNodeReader (doc.);
XmlReaderSettings montages = nieuwe XmlReaderSettings ();
settings.IgnoreComments = waar;
settings.IgnoreProcessingInstructions = waar;
settings.IgnoreWhitespace = waar;
XmlReader lezer = XmlReader.Create (nodeReader, montages);
terwijl (lezer. Lees ())
{/> schakelaar
{
geval XmlNodeType.Element:
strThisUrl = Request.Path.ToLower (); /> koord
lt.aspx ", ""). Vervang („/“, "");
als (lezer. Naam == „verbinding“ && (reader.GetAttribute („vanityurl“) == newUrl))
{
strRedirectLink = reader.GetAttribute („redirecturl“);
Response.Redirect (strRedirectLink); /> onderbreking

} }

}
}

Any op hoe te om dit ertoe te brengen om te werken is zeer appreciated.

Antwoord : Het lezen van xml dossier in global.asax om ijdelheid opnieuw te richten url om pagina te verbeteren

Wat wordt u wilt genoemd een pijpleiding.  Hier is een leerprogramma:
 http://www.nerdymusings.com/LPMArticle.asp?ID=12


Ik zou uw code die het Xml- dossier ontleedt nemen en maak dat een standalone klasse.  En sla dan de waarden van het ontleden XML als eigenschappen van de klasse op.

Die manier de pijpleidingsklasse moet enkel dit doen:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
privé nietige Application_BeginRequest (objecten Bron, EventArgs e)
{
      Van HttpApplication oApp= (HttpApplication) de Bron;
      strRequestUri van het koord = oApp.Request.Url.AbsoluteUri.ToLower ();

      De kaart =new RedirectMap van RedirectMap ();

      als (map.IsMapped (strRequestUri))
          oApp.Response.Redirect (map.GetRedirectUri (strRequestUri));
}
Andere oplossingen  
 
programming4us programming4us