пустое Application_BeginRequest (прислужник предмета, EventArgs e)
{
RewriteUrl ();
}
общественное DataTable GetVanityLinks ()
{
dstVanityLinks = null DataSet;
dtblVanityLinks = null DataTable;
//dtblVanityLinks = Context.Cache («vanitylinks»);
если (null == dtblVanityLinks), то
{
dstVanityLinks = новый DataSet ();
dstVanityLinks.ReadXml (Server.MapPath («VanityURLRedirects.xml»));
dtblVanityLinks = dstVanityLinks.Tables [0];
Context.Cache.Insert («vanitylinks», dtblVanityLinks, новое CacheDependency (Server.MapPath («VanityURLRedirects.xml»)));
}
возвращенные dtblVanityLinks;
}
публика пустое RewriteUrl ()
{
dtblVanityLinks = null DataTable;
strThisUrl = null шнура;
strSelect = null шнура;
arrMatches = null DataRow [];
strRedirectLink = null шнура;
dtblVanityLinks = GetVanityLinks ();
strThisUrl = Request.Path.ToLower ();
если (Request.ApplicationPath! = «/")
{
strThisUrl = strThisUrl.Remove (0, Request.ApplicationPath.Length);
}
strSelect = «vanitylink = «» + strThisUrl + «» «;
arrMatches = dtblVanityLinks.Select (strSelect, «vanitylink»);
если (arrMatches.Length > 0), то
{
strRedirectLink = arrMatches [0] [«redirectlink»] .ToString (); ;
strRedirectLink = Request.ApplicationPath + strRedirectLink;
Context.RewritePath (strRedirectLink);
}
}
|