天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

HttpApplication,HttpModule,HttpContext及Asp.Net頁生命周期

  IIS在接到一個新的http請求后,最終會調用ASP.NET_isapi.dll的ISAPI擴展(特指IIS6.0環境,iis7.0的應用程序池默認為集成方式,相對有所變化),然后傳遞到httpRuntime Pipe(http運行時管道),ASP.NET這時才開始運行(即HttpRunTime是ASP.NET真正的入口),HttpRunTime會為每個ASP.NET應用自動創建一個HttpApplication的實例,而該實例中又包含以下屬性:

  Application -->相當于傳統意義上ASP時代的application對象,通常用于定義一個ASP.NET應用的全局變量

  Context -->HttpContext(上下文)類的實例【ASP.NET新增的】

  Modules -->影響當前應用程序的HttpModule模塊集合

  Request -->類似于ASP中的Request對象,通常用于接收一些特定的值(比如Request.Form或Request.QueryString)

  Response -->類似于ASP中的Response對象,通常用于向做頁面輸出指定內容(比如Resonse.Write)

  Server -->類似于ASP中的Server對象,通過它能獲得一些服務端的信息(比如Server.MapPath)

  Session -->類似于ASP中的Session對象

  User -->用于獲取用戶認證相關的安全信息

  從上面的屬性可以發現:很多其實在ASP年代已在使用,只有Context,Modules,User這三個是ASP.NET新增的,HttpApplication類除了具備"注1"的幾個屬性外,還有自己的方法,這里特別提一下Init方法和Dispose方法,這二個方法均可重載。

  它們的調用時機為:Init方法在Application_Start之后調用,而Dispose在Application_End之前調用,另外Application_Start在整個ASP.NET應用的生命周期內只激發一次(比如IIS啟動或網站啟動時),類似的Application_End也只有當ASP.NET應用程序關閉時被調用(比如IIS停止或網站停止時)

  除了Application_Start和Application_End方法,HttpApplication還提供了以下事件:

  這些事件包括前面提到的可重載的Init及Dispose方法,再加上Session對應的Session_Start與Session_End方法,均可直接在Global.ascx.cs中以Application_XXX的形式使用(因為Global.ascx.cs中定義的類Global本身就是繼承自HttpApplication的。

public class Global : System.Web.HttpApplication

  Modules:每一個實現了IHttpModule接口的類,就可以被認為是Http模塊組件,可以理解為http請求攔截器,攔截到http請求后,它能修改正在被處理的Context上下文,完事兒之后,再把控制權交還給管道,如果還有其它模塊,則依次繼續處理,直到所有Modules集合中的HttpModule都“爽”完為止(注:可憐的http請求就這樣給各個httpModule輪X了)

  ASP.NET2.0默認內置了很多HttpModule,從Machine.Config文件中可以發現以下默認的內置模塊:

   AnonymouseIdentification --為匿名用戶分配一個臨時身份
  FileAuthorization --驗證用戶是否有請求文件的Windows NT許可
  FormsAuthentication --窗體身份驗證模塊(如果沒有這個模塊,ASP.NET就無法以用戶名/密碼[即FOrms]方式驗證)
  OutputCache --輸出緩存模塊
  PassportAuthentication --PassPort驗證模塊
  Profile --用戶配置模塊(如果沒有它,ASP.NET中就無法使用Profile)
  RoleManager --角色管理
  SessionSate --會話狀態模塊
  UrlAuthorization --基于URL的身份驗證模塊
  WindowsAuthentication --Windows和IIS身份驗證模塊

  User:如果您使用過ASP.NET2.0內置的Membership/Role機制來進行訪問認證,就會對User對象感到很熟悉,比如:

if (HttpContext.Current.User.Identity.IsAuthenticated) 
{
//用戶登錄過了...
}

NET技術HttpApplication,HttpModule,HttpContext及Asp.Net頁生命周期,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品无人区一区二区三区 | 色聚网久久综合 | 18video性欧美19sex高清 | 无人区免费一二三四乱码 | 青青草在现线免费观看 | 国产普通话精品久久 | 亚洲 欧美 中文 日韩 另类 | 午夜深情在线观看免费 | 青春草国产成人精品久久 | 色综合精品无码一区二区三区 | 蜜芽视频在线观看视频免费播放 | 亚州三级视频 | 亚洲精品欧美精品中文字幕 | 国产精品18久久久久久欧美网址 | 99精品久久精品一区二区 | 亚洲精品国产字幕久久vr | 三级网站视频 | 欧美国产一区二区三区激情无套 | A级超碰视频在线观看 | 精品日韩二区三区精品视频 | FREECHINESE东北女人真爽 free18sex性自拍裸舞 | 免费国产久久啪久久爱 | 微拍秒拍99福利精品小视频 | 日日a.v拍夜夜添久久免费 | 跪趴式啪啪GIF动态图27报 | 成人毛片手机版免费看 | 99国产精品偷窥熟女精品视频 | 亚洲国产精品嫩草影院 | 天堂无码人妻精品AV一区 | 黑粗硬大欧美在线视频 | 成人无码精品1区2区3区免费看 | 69精品人人人人 | 国产69精品久久久久妇女 | 34g污奶绵uk甩奶 | 亚洲免费精品 | 国产麻豆精品久久一二三 | 被肉日常np高h | 入禽太深免费高清在线观看5 | 青青草国产偷拍在线av | 亚欧免费观看在线观看更新 | 风流少妇BBWBBW69视频 |