asp.net地址映射——偽靜態(tài)

作者:Lgo100 來(lái)源:未知 2012-04-22 11:09:15 閱讀 我要評(píng)論 直達(dá)商品

 

  asp.net地址映射 的界說(shuō)是用戶訪謁 的虛擬地址 映射的現(xiàn)實(shí)文件,虛擬地址可能是靜態(tài)頁(yè)面。如理:在訪謁http://fuzhou.naoqiu.com/bus頁(yè)面, 其實(shí)訪謁的是/bus.aspx頁(yè)面。

  asp.net地址映射是經(jīng)由過(guò)程 HttpModule請(qǐng)求事理來(lái)完成工作。

  httpModule事理是什么?

  一 個(gè)HTTP請(qǐng)求在HttpModule容器的傳遞過(guò)程中,會(huì)在某一時(shí)刻(ResolveRequestCache事務(wù))將這個(gè)HTTP請(qǐng)求傳遞給 HttpHandler容器。在這個(gè)事務(wù)之后,HttpModule容器會(huì)成立一個(gè)HttpHandler的生齒實(shí)例,可是此時(shí)并沒(méi)有將HTTP請(qǐng)求節(jié)制 權(quán)交出,而是繼續(xù)觸發(fā)AcquireRequestState事務(wù)以及PreRequestHandlerExcute事務(wù)。在 PreRequestHandlerExcute事務(wù)之后,HttpModule窗口就會(huì)將節(jié)制權(quán)且則交給HttpHandler容器,以便進(jìn)行真正的 HTTP請(qǐng)求措置工作。

  而在HttpHandler容器內(nèi)部會(huì)執(zhí)行ProcessRequest體例來(lái)措置HTTP請(qǐng)求。在容器 HttpHandler措置完畢整個(gè)HTTP請(qǐng)求之后,會(huì)將節(jié)制權(quán)交還給HttpModule,HttpModule則會(huì)繼續(xù)對(duì)措置完畢的HTTP請(qǐng)求信 息流進(jìn)行層層的轉(zhuǎn)交動(dòng)作,直到返回到客戶端為止。

  

 

  借用博友圖片

  體味完事理后,我來(lái)完成一個(gè) 簡(jiǎn)單的地址映射,代碼如下:

  首先先完成地址映射基類:

  ///<summary>

  /// 地址重寫(xiě)

  /// </summary>

 

  public abstract class BaseModuleRewriter: IHttpModule

  {

  /// <summary>

  /// 初始化挪用

  /// </summary>

 

  /// <param name="app"></param>

  public virtual void Init(HttpApplication app) {

  app.BeginRequest += new EventHandler(app_BeginRequest);

  }

  public virtual void Dispose() { }

  /// <summary>

  /// 請(qǐng)求起頭

  /// </summary>

 

  /// <param name="sender"></param>

  /// <param name="e"></param>

  protected virtual void app_BeginRequest(object sender, EventArgs e)

  {

  HttpApplication app = sender as HttpApplication;

  Rewrite(app);

  }

  /// <summary>

  /// 操作的抽象體例

  /// </summary>

 

  /// <param name="app"></param>

  protected abstract void Rewrite(HttpApplication app);

  }

  擔(dān)任基類,完成需要地址映射操作:

  protected override void Rewrite(HttpApplication app)

  {

  HttpContext context = app.Context;

  HttpRequest request = app.Request;

  string part = Regex.Match(request.Url.ToString(), @"(?<=http://).*").Value.ToLower().Trim('/');

  if (part.IndexOf("/") == -1)

  {

  part = Regex.Match(part, @"^w+").Value;

  switch (part)

  {

  case "bus": context.RewritePath("/bus.aspx"); break;

  case "www":

  case "naoqiu": context.RewritePath("/Default.aspx"); break;

  default: context.RewritePath("/Index_City.aspx"); break;

  }

  }

  }

  那么我們是否還差些什么? 是的,還差個(gè)設(shè)置裝備擺設(shè)文件的設(shè)置裝備擺設(shè)。需要改削web.config文件幾處處所,代碼如:


  推薦閱讀

  詳解網(wǎng)站title寫(xiě)法

網(wǎng)站title的寫(xiě)作是做seo優(yōu)化工作中很主要的一步,也是一名seoer的根基功。可是筆者在實(shí)踐中發(fā)現(xiàn)有良多網(wǎng)站的title其實(shí)寫(xiě)的都是有問(wèn)題的,甚置突皓年夜業(yè)多年的seoer都還在犯錯(cuò)誤。本文中,筆者首先列舉網(wǎng)站title寫(xiě)法>>>詳細(xì)閱讀


本文標(biāo)題:asp.net地址映射——偽靜態(tài)

地址:http://m.sdlzkt.com/a/34/20120422/53492.html

樂(lè)購(gòu)科技部分新聞及文章轉(zhuǎn)載自互聯(lián)網(wǎng),供讀者交流和學(xué)習(xí),若有涉及作者版權(quán)等問(wèn)題請(qǐng)及時(shí)與我們聯(lián)系,以便更正、刪除或按規(guī)定辦理。感謝所有提供資訊的網(wǎng)站,歡迎各類媒體與樂(lè)購(gòu)科技進(jìn)行文章共享合作。

網(wǎng)友點(diǎn)評(píng)
我的評(píng)論: 人參與評(píng)論
驗(yàn)證碼: 匿名回答
網(wǎng)友評(píng)論(點(diǎn)擊查看更多條評(píng)論)
友情提示: 登錄后發(fā)表評(píng)論,可以直接從評(píng)論中的用戶名進(jìn)入您的個(gè)人空間,讓更多網(wǎng)友認(rèn)識(shí)您。
自媒體專欄

評(píng)論

熱度

主站蜘蛛池模板: 成人免费av一区二区三区| 天天影院成人免费观看| 3d成人免费动漫在线观看| 国产成人19禁在线观看| 亚洲国产成人久久一区二区三区| 亚洲伊人成人网| 成人无码免费一区二区三区| 在线成人综合色一区| 国产成人精品一区二区三区无码| 亚洲国产精品成人久久| 成人自拍小视频| 亚洲人成人77777网站| 欧美成人四级剧情在线播放| 国产精品成人免费视频电影| 国产v精品成人免费视频400条| 91啦中文成人| 国产成人tv在线观看| 欧美成人午夜做受视频| 国产成人精品视频一区二区不卡 | 国产成人综合日韩精品无码| 一级毛片成人午夜| 国产69久久精品成人看| 国产成人精品无码片区在线观看| 成人看片黄a在线观看| 中文字幕成人在线| 78成人精品电影在线播放日韩精品电影一区亚洲| 婷婷国产成人精品视频| 国产成人精品动图| 欧美成人午夜视频| 成人在线免费看| 国产成人精品免费视频动漫| 成人性生交大片免费看| 成人免费av一区二区三区| 成人免费男女视频网站慢动作| 成人麻豆日韩在无码视频| 成人网视频免费播放| 日韩国产成人资源精品视频| 成人中文精品3d动漫在线| 国产精品成人va| 久久国产成人精品国产成人亚洲| 亚洲精品成人片在线观看精品字幕 |