ASP.NET 頁面物件模型 (轉)
作者:Dino Esposito、Wlect:namespace prefix = o ns = "urn:schemas--com::office" />
時間:年8月
應用於:Microsoft
摘要:
討論關於建立 頁的事件模型和轉化為HTML的各個過程的細節。ASP.NET HTTP 執行時管理著把請求URL轉換成一個頁面類的具體例項的管道,接下來把這些例項轉換成一般的HTML文字格式。本文對代表各個頁面生命週期的事件、怎麼控制頁面、開發人員怎麼幹預這些標準行為的執行過程進行了講解。
介紹
每當請求IIS容納的ASP.NET頁時,總是要把請求轉交給了ASP.NET HTTP 管道。HTTP管道是一組被控物件,這些物件按順序處理請求並且把這些請求轉換成一般HTML文字。HTTP管道的入口是HttpRuntime 類。ASP.NET的底層結構為每一個應用域 ( Appain )的工作程式建立了一個這個類(HttpRuntime)的例項(注意,一個工作程式只能支援一個正在執行的ASP.NET應用域)。
HttpRuntime 類從內部程式池中選擇一個 HttpApplcation 物件,並且在接收到請求的時候使它工作。Http應用管理程式的主要工作是尋找這樣的類使之能夠處理請求。例如:當請求一個.資源時,處理控制程式碼就是一個從Page繼承類的例項。請求資源的型別和相關處理控制程式碼的關係對映表被儲存在應用程式的裡。更確切的說,這個對映表就定義在machie.config裡的
一個擴充套件可以和一個控制程式碼類聯絡起來,更一般說,是和一個控制程式碼工廠類相聯絡。在所有情況下,負責處理請求的HttpApplication物件得到一個從IHttpHandler介面具體實現的物件。如果是根據HTTP控制程式碼來處理資源和相關處理類的關係,則返回類是直接實現相關的介面的;如果資源是繫結到一個控制程式碼工廠的話,將必須經過另外一個階段:具體實現IHttpHandlerFactory介面的控制程式碼工廠類的GetHandler方法將返回一個基於IHttpHandler的物件。
Http執行時怎麼結束一個週期或關閉一個頁面請求的程式呢?IHttpHandler介面的ProcessRequest方法擁有這個功能。代表被請求頁面的物件的該方法,ASP.NET底層結構開啟一個程式來為產生輸出。
Page類
一個頁面的HTTP處理控制程式碼的型別取決於URL。當這個URL被首次訪問,一個新的類將被構建並動態的編譯成一個程式集。一個分析aspx檔案的程式從aspx檔案中分離出這個類的程式碼。在預設情況下,這個類被加入到一個叫做asp的名字空間裡,並且把URL作為這個類的類名。例如,如果請求的URL是page.aspx,則這個類就是ASP.Page_aspx。這個類名,可以透過設定@Page預處理指令的ClassName屬性來修改。
HTTP控制程式碼的基礎類是Page類。這個類定義了一組最小方法和屬性集,這些方法和屬性被所有的頁面處理控制程式碼所共享。Page類具體實現了IHttpHandler介面。
在另外一種和上述相對應的情況中,實際處理頁面的控制程式碼的基礎類並不是Page類,而是一個別的類。當使用後程式碼時,這個情況就發生了。後程式碼是一種將或程式碼和頁面分離的技術。頁面程式碼是一組事件處理控制程式碼和其他一些方法的集合,這些方法定義了頁面的各種行為。這些程式碼可以以內聯形式用
相關文章
- Asp.Net中動態頁面轉靜態頁面ASP.NET
- “asp.net頁面跳轉”補遺ASP.NET
- 學習和配置頁面轉換模型模型
- ASP.NET頁面跳轉的三種方法ASP.NET
- asp.net 頁面載入ASP.NET
- ASP.NET頁面Trace技巧ASP.NET
- 在VB和Web頁面中使用Shell物件 (轉)Web物件
- ASP.NET頁面重新整理和定時跳轉ASP.NET
- asp.net中一個頁面跳轉,後一個頁面操作內容後返回先前頁面,並使得先前頁面資料重新整理ASP.NET
- asp.net mvc 錯誤頁面ASP.NETMVC
- asp.net 頁面傳值方法ASP.NET
- asp.net 頁面 生命週期ASP.NET
- ASP.NET清除頁面快取ASP.NET快取
- js頁面跳轉的問題(跳轉到父頁面、最外層頁面、本頁面)JS
- Asp.Net MVC5 檢視頁面編譯呼叫流轉過程,以及頁面Web展示ASP.NETMVC編譯Web
- ASP.NET 個人資訊註冊頁面,並跳轉顯示ASP.NET
- 在兩個ASP.NET頁面之間傳遞值 (轉)ASP.NET
- ASP.NET動態生成html頁面ASP.NETHTML
- ASP.NET頁面傳值基本方式ASP.NET
- Asp.Net頁面傳值的方法ASP.NET
- vue頁面跳轉Vue
- Flutter頁面跳轉Flutter
- iOS頁面翻轉iOS
- javascript 跳轉頁面JavaScript
- js頁面跳轉JS
- 灌水帖 asp.net非法請求時跳轉到登入頁面ASP.NET
- 用指令碼解決ASP.NET頁面重新整理問題 (轉)指令碼ASP.NET
- ASP.NET Web Forms – HTML 頁面簡介ASP.NETWebORMHTML
- [譯]ASP.NET Core 2.0 佈局頁面ASP.NET
- 【永春】Asp.Net頁面執行流程分析ASP.NET
- ASP.NET頁面間傳值彙總ASP.NET
- ASP.NET配置錯誤頁面淺析ASP.NET
- ASP.NET 頁面aspx之擴充套件ASP.NET套件
- js跳轉頁面方法(轉)JS
- react跳轉url,跳轉外鏈,新頁面開啟頁面React
- Flutter頁面保活及保持頁面跳轉位置Flutter
- 面對物件的思考 (轉)物件
- Delphi物件模型(Part V) (轉)物件模型