Vraag : Lees Xml- dossier in global.asax om paginaverzoek opnieuw te richten om pagina te verbeteren

Ik heb een xmldossier gecre�ërd dat een ijdelheid heeft url abd 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/products.aspx opnieuw wordt gericht. hieronder is één of andere code I wrote.




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



global.asax

public nietige Application_BeginRequest ()
{
DataTable dtblVanityLinks = verklaart nietig; /> het koord
het koord
DataRow [] arrMatches = verklaart nietig; /> het koord

dtblVanityLinks = GetVanityLinks ();
strThisUrl = Request.Path.ToLower ();
als (Request.ApplicationPath! = „/“) {
strThisUrl = strThisUrl.Remove (0, Request.ApplicationPath.Length);
}
strSelect = „vanitylink='" + strThisUrl + „'“;
arrMatches = dtblVanityLinks.Select (strSelect, „vanitylink“);
als (arrMatches.Length > 0) {
strRedirectLink = arrMatches [0] [„redirectlink“];
strRedirectLink = Request.ApplicationPath + strRedirectLink;
Context.RewritePath (strRedirectLink) ;
}
}

public DataTable GetVanityLinks ()
{/> de Dataset
DataTable dtblVanityLinks = verklaart nietig;

dtblVanityLinks = Context.Cache („vanitylinks“);
als (dtblVanityLinks ongeldige ==) {
dstVanityLinks = nieuwe Dataset ();
dstVanityLinks.ReadXml (Server.MapPath („VanityURLRedirects.xml“));
dtblVanityLinks = dstVanityLinks.Tables (0);
Context.Cache.Insert („vanitylinks“, dtblVanityLinks, nieuwe CacheDependency (Server.MapPath („VanityURLRedirects.xml“) )); /> terugkeer
}
}


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

Antwoord : Lees Xml- dossier in global.asax om paginaverzoek opnieuw te richten om pagina te verbeteren

U kunt één van de pre-gebouwde modules gebruiken in plaats van het schrijven van het zelf aangezien het vervelend en feilbaar is.

http://urlrewriter.net/

De bijgewerkte code wordt ook hieronder gepost.
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:
    nietige Application_BeginRequest (de afzender van Objecten, EventArgs e)
    {
        RewriteUrl ();
    }

    openbare DataTable GetVanityLinks ()
    {
        De dataset dstVanityLinks = verklaart nietig;
        DataTable dtblVanityLinks = verklaart nietig;

        //dtblVanityLinks = Context.Cache („vanitylinks“);

        als (dtblVanityLinks ongeldige ==)
        {
            dstVanityLinks = nieuwe Dataset ();
            dstVanityLinks.ReadXml (Server.MapPath („VanityURLRedirects.xml“));
            dtblVanityLinks = dstVanityLinks.Tables [0];
            Context.Cache.Insert („vanitylinks“, dtblVanityLinks, nieuwe CacheDependency (Server.MapPath („VanityURLRedirects.xml“)));
        }

        terugkeer dtblVanityLinks;
    }

    openbare nietige RewriteUrl ()
    {
        DataTable dtblVanityLinks = verklaart nietig;
        het koord strThisUrl = verklaart nietig;
        het koord strSelect = verklaart nietig;
        DataRow [] arrMatches = verklaart nietig;
        het koord strRedirectLink = verklaart nietig;

        dtblVanityLinks = GetVanityLinks ();

        strThisUrl = Request.Path.ToLower ();

        als (Request.ApplicationPath! = „/“)
        {
            strThisUrl = strThisUrl.Remove (0, Request.ApplicationPath.Length);
        }

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

            Context.RewritePath (strRedirectLink);
        }
    }
Andere oplossingen  
 
programming4us programming4us