ASP.NET运行模式(2)

      (續)WP 接到來自 aspnet_isapi.dll 的要求後,會將要求轉送至虛擬目錄對應的 Application Domain 中的 ISAPIRuntime 物件,此物件主要功能是由 ISAPI 封包中解出資訊後轉交給 HttpRuntime 物件,在解出必要的資訊後, ISAPIRuntime 物件接著呼叫 HttpRuntime.ProcessRequest 函式來處理使用者要求,此函式中會建立一個 HttpContext 物件, HttpRuntime 物件會將取自 ISAPIRuntime 物件中的訪問者資訊填入該物件。由整體架構上來看, HttpRuntime 物件管理著 HttpRuntime Cache 兩個物件,而 HttpContext 物件則管理著一個 HttpSession 物件,每一個訪問者要求都對應著一個 HttpContext 物件,因此每一個訪問者自然就擁有獨立的 HttpSession 物件了。在建立 HttpContext 物件後,隨之被建立的是 HttpApplicaton 物件,此物件是經由 HttpApplicationFactory 物件建立的,當 HttpRuntime 物件向 HttpApplicationFactory 物件要求一個 HttpApplication 物件時, HttpApplicationFactory 物件會先解釋目錄中的 Global.asax 檔案,接著載入虛擬目錄內的 Application Assembly(Global.dll) ,而后合并兩者產生出一個 Ghost Application Class ,最后編譯此 Class 後取得物件實體後傳回至 HttpRuntime 物件,這個物件實體就是 HttpApplication 物件。解釋與編譯 .asax 文件的動作只發生於此虛擬目錄第一次處理使用者要求,或是 Global.asax Global.dll) 在前次執行後又做了變動時。取得 HttpApplication 物件實體後, HttpRuntime 物件緊接著呼叫 HttpApplication.ProcessRequest 函式,此函式會將執行權交至對應的 HttpHandler 物件上。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值