Вопрос : Прочитайте архив XML в global.asax для того чтобы перенаправить запрос страницы исправить страницу

Я создавал архив xml имеет abd url тщеты url перенаправлять. Я хочу глобальное asax прочитать этот архив для того чтобы перенаправить запрос страницы к соотвествующей странице. НАСТОЛЬКО например если кто-то печатает внутри rel= на машинке " nofollow " " _blank " " target= " http://www.company.com/products href= , то ducts http://www.company.com/pro имеет было перенаправлено к rel= " nofollow " " _blank " " target= " http://www.company.com/siteproducts/products.aspx href= eproducts/products.aspx http://www.company.com/sit. под будет некоторым Кодим iим wrote.




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



global.asax

public пустое Application_BeginRequest () {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»]; strRedirectLink
= Request.ApplicationPath + strRedirectLink;
Context.RewritePath (strRedirectLink);


public 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

} возвращенные; идеи


Any
} на как получить, что это работали будут больш appreciated.
class=

Ответ : Прочитайте архив XML в global.asax для того чтобы перенаправить запрос страницы исправить страницу

Вы себя можете использовать один из pre-построенных модулей вместо сочинительства оно по мере того как будет нудно и ошибки - прональное.

http://urlrewriter.net/

Обновленное Кодий также вывешено ниже.
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:
    пустое 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);
        }
    }
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us