asp.net地址映射——偽靜態

作者:Lgo100 來源:未知 2012-04-22 11:09:15 閱讀 我要評論 直達商品

 

  asp.net地址映射 的界說是用戶訪謁 的虛擬地址 映射的現實文件,虛擬地址可能是靜態頁面。如理:在訪謁http://fuzhou.naoqiu.com/bus頁面, 其實訪謁的是/bus.aspx頁面。

  asp.net地址映射是經由過程 HttpModule請求事理來完成工作。

  httpModule事理是什么?

  一 個HTTP請求在HttpModule容器的傳遞過程中,會在某一時刻(ResolveRequestCache事務)將這個HTTP請求傳遞給 HttpHandler容器。在這個事務之后,HttpModule容器會成立一個HttpHandler的生齒實例,可是此時并沒有將HTTP請求節制 權交出,而是繼續觸發AcquireRequestState事務以及PreRequestHandlerExcute事務。在 PreRequestHandlerExcute事務之后,HttpModule窗口就會將節制權且則交給HttpHandler容器,以便進行真正的 HTTP請求措置工作。

  而在HttpHandler容器內部會執行ProcessRequest體例來措置HTTP請求。在容器 HttpHandler措置完畢整個HTTP請求之后,會將節制權交還給HttpModule,HttpModule則會繼續對措置完畢的HTTP請求信 息流進行層層的轉交動作,直到返回到客戶端為止。

  

 

  借用博友圖片

  體味完事理后,我來完成一個 簡單的地址映射,代碼如下:

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

  ///<summary>

  /// 地址重寫

  /// </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>

  /// 請求起頭

  /// </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);

  }

  擔任基類,完成需要地址映射操作:

  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;

  }

  }

  }

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


  推薦閱讀

  詳解網站title寫法

網站title的寫作是做seo優化工作中很主要的一步,也是一名seoer的根基功。可是筆者在實踐中發現有良多網站的title其實寫的都是有問題的,甚置突皓年夜業多年的seoer都還在犯錯誤。本文中,筆者首先列舉網站title寫法>>>詳細閱讀


本文標題:asp.net地址映射——偽靜態

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

樂購科技部分新聞及文章轉載自互聯網,供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯系,以便更正、刪除或按規定辦理。感謝所有提供資訊的網站,歡迎各類媒體與樂購科技進行文章共享合作。

網友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網友評論(點擊查看更多條評論)
友情提示: 登錄后發表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網友認識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 成人av免费电影| 国产精品香蕉成人网在线观看| 欧美成人免费网站| 日本免费成人网| 成人亚洲综合天堂| 四虎www成人影院| 欧美成人免费一区二区| 成人免费乱码大片A毛片| 国产婷婷成人久久av免费高清| www亚洲成人| 成人av电影网站| 高清成人爽a毛片免费网站| 国产成人免费在线| 国产成人免费A在线视频| 91成人在线免费观看| 在线视频免费国产成人| 久久精品成人国产午夜| 成人a视频片在线观看免费| 久久成人a毛片免费观看网站| 成人性生交大片免费看| 37pao成人国产永久免费视频| 成人免费小视频| 色窝窝无码一区二区三区成人网站| 国产成人无码区免费A∨视频网站 国产成人无码区免费内射一片色欲 | 日本成人在线免费观看| 国产成人3p视频免费观看| 成人性一级视频在线观看| 久久久久成人精品免费播放动漫| 国产成人无码免费视频97| 无码国产成人午夜电影在线观看| 亚洲2022国产成人精品无码区 | www成人免费视频| 亚洲国产精品成人午夜在线观看 | 免费成人在线电影| 国产成人在线看| 国产成人无码一区二区三区在线| 成人黄色电影在线观看 | 亚洲成人免费网址| 亚欧成人中文字幕一区| 91精品欧美成人| 精品久久久久成人码免费动漫 |