Fråga : Läs XML sparar i global.asax för att omdirigera sidaförfrågan att korrigera sidan

Jag har skapat en xml sparar som har en fåfängaurl-abd omdirigeraurlen. Jag önskar att global asax ska läsa denna sparar för att omdirigera sidaförfråganen till anslåsidan. Om SÅ for example någon skrivar i rel= " nofollow " " för _blank " för , http://www.company.com/pro ducts har som omdirigeras till rel= " nofollow " " för _blank " för http://www.company.com/sit eproducts/products.aspx. nedanför är något kodifierar I wrote.




/products/nitylink>
/siteproducts/products.aspx? WT.MC_ID=23edirectlink>



global.asax

public annullerar Application_BeginRequest ()
{dtblVanityLinks för
DataTable = ogiltigt;
stränger strThisUrl = ogiltigt;
stränger strSelect = ogiltigt; arrMatches för
DataRow [] = ogiltigt;
stränger strRedirectLink = ogiltigt; dtblVanityLinks = GetVanityLinks för

(); strThisUrl för
= Request.Path.ToLower ();
om (Request.ApplicationPath! = ”/”) {strThisUrl för
= strThisUrl.Remove (0, Request.ApplicationPath.Length); strSelect för
för
} = ”vanitylink='" + strThisUrl + ”'”; arrMatches för
= dtblVanityLinks.Select (strSelect, ”vanitylink”);
om (arrMatches.Length > 0) {strRedirectLink för
= arrMatches [0] [”redirectlink”]; strRedirectLink för
= Request.ApplicationPath + strRedirectLink; för
Context.RewritePath (strRedirectLink);
{DataSetdstVanityLinks för

public DataTable GetVanityLinks för
} för
} () för
= ogiltigt; dtblVanityLinks för
DataTable = ogiltigt; dtblVanityLinks för

= Context.Cache (”vanitylinks”);
om (ogiltig dtblVanityLinks==) {dstVanityLinks för
= den nya dataSeten ();
dstVanityLinks.ReadXml (Server.MapPath (”VanityURLRedirects.xml”)); dtblVanityLinks för
= dstVanityLinks.Tables (0);
Context.Cache.Insert (”vanitylinks”, dtblVanityLinks, nya CacheDependency, (för Server.MapPath (”VanityURLRedirects.xml”))); dtblVanityLinks för
för
} återgånga; idéer för


Any för
} på hur man får detta för att fungera är väldeliga appreciated.
" klar "

Svar : Läs XML sparar i global.asax för att omdirigera sidaförfrågan att korrigera sidan

Du kan använda en av debyggda enheterna i stället för handstil det dig, som det benäget det är tröttande och felet -.

http://urlrewriter.net/

Uppdaterade kodifierar är också postat nedanfört.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
    utan laga kraft Application_BeginRequest (anmärka avsändaren, EventArgs e),
    {
        RewriteUrl ();
    }

    offentliga DataTable GetVanityLinks ()
    {
        DataSetdstVanityLinks = ogiltigt;
        DataTable dtblVanityLinks = ogiltigt;

        //dtblVanityLinks = Context.Cache (”vanitylinks”);

        om (ogiltig dtblVanityLinks==)
        {
            dstVanityLinks = ny DataSet ();
            dstVanityLinks.ReadXml (Server.MapPath (”VanityURLRedirects.xml”));
            dtblVanityLinks = dstVanityLinks.Tables [0];
            Context.Cache.Insert (”vanitylinks”, dtblVanityLinks, nya CacheDependency (Server.MapPath (”VanityURLRedirects.xml”)));
        }

        återgånga dtblVanityLinks;
    }

    offentliga utan laga kraft RewriteUrl ()
    {
        DataTable dtblVanityLinks = ogiltigt;
        stränga strThisUrl = ogiltigt;
        stränga strSelect = ogiltigt;
        DataRow [] arrMatches = ogiltigt;
        stränga strRedirectLink = ogiltigt;

        dtblVanityLinks = GetVanityLinks ();

        strThisUrl = Request.Path.ToLower ();

        om (Request.ApplicationPath! = ”/”)
        {
            strThisUrl = strThisUrl.Remove (0, Request.ApplicationPath.Length);
        }

        strSelect = ”vanitylink = ”” + strThisUrl + ”” ”;
        arrMatches = dtblVanityLinks.Select (strSelect, ”vanitylink”);
        om (arrMatches.Length > 0)
        {
            strRedirectLink = arrMatches [0] [”redirectlink”] .ToString (); ;
            strRedirectLink = Request.ApplicationPath + strRedirectLink;

            Context.RewritePath (strRedirectLink);
        }
    }
Andra lösningar  
 
programming4us programming4us