Pergunta : Lima do xml da leitura em global.asax para reorientar o URL da vaidade para corrigir a página

Eu criei uma lima do xml que tivesse um URL da vaidade e o URL da reorientação. Eu quero o asax global ler esta lima para reorientar o pedido de página à página apropriada. Tão por exemplo se alguém datilografa dentro o rel= " nofollow " do " _blank " " do target= de " http://www.company.com/products do href= do o ducts de http://www.company.com/pro tem que seja reorientado ao rel= " nofollow " do " _blank " " do target= de " http://www.company.com/siteproducts/default.aspx do href= do o eproducts/default.aspx de http://www.company.com/sit. Abaixo é algum código I wrote.

/default.aspx do vanityurl= " do

? WT.MC_ID=23 de " vanityurl= do
" comparam o " redirecturl= " /siteproducts/default.aspx? WT.MC_ID=24 "/>


global.asax

void Application_BeginRequest (remetente do object, e)
de EventArgs {strThisUrl da corda do
; strRedirectLink da corda do
;
XmlDocument doc = XmlDocument novo ();
doc. Carga (Server.MapPath (“/redirects.xml”)); nodeReader do
XmlNodeReader = XmlNodeReader novo (doc); Ajustes do
XmlReaderSettings = XmlReaderSettings novo (); o
settings.IgnoreComments = retifica; o
settings.IgnoreProcessingInstructions = retifica; o
settings.IgnoreWhitespace = retifica; Leitor do
XmlReader = XmlReader.Create (nodeReader, ajustes);
quando (leitor. Lido ())
{
do interruptor do
(reader.NodeType) {caso XmlNodeType.Element do
: strThisUrl do
= Request.Path.ToLower (); newUrl da corda do
= strThisUrl.Replace (” /Default.aspx ", ""). Substituir (“/”, "");
se (leitor. && conhecido da “ligação” do == (newUrl do == de reader.GetAttribute (“vanityurl”)))
{strRedirectLink do
= reader.GetAttribute (“redirecturl”);
Response.Redirect (strRedirectLink); ruptura do
do

}; as idéias do

Any do
do

do
}}} em como conseguir isto trabalhar são extremamente appreciated.
class= do

Resposta : Lima do xml da leitura em global.asax para reorientar o URL da vaidade para corrigir a página

O que você quer é chamado um encanamento.  Está aqui um curso:
 http://www.nerdymusings.com/LPMArticle.asp?ID=12


Eu tomaria seu código que analisa gramaticalmente a lima de XML e faço a isso uma classe autônoma.  E armazenar então os valores do XML que analisa gramaticalmente como propriedades da classe.

Que a maneira a classe do encanamento apenas tem que fazer esta:


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Application_BeginRequest vago confidencial (fonte do objeto, EventArgs e)
{
      Fonte do oApp= de HttpApplication (HttpApplication);
      strRequestUri da corda = oApp.Request.Url.AbsoluteUri.ToLower ();

      =new RedirectMap do mapa de RedirectMap ();

      se (map.IsMapped (strRequestUri))
          oApp.Response.Redirect (map.GetRedirectUri (strRequestUri));
}
Outras soluções  
 
programming4us programming4us