Select the product you need help with
資訊: 應用程式執行個體、 應用程式事件及在 ASP.NET 應用程式狀態文章編號: 312607 - 檢視此文章適用的產品。 在此頁中結論ASP.NET HttpApplication 物件隱藏許多複雜的概念,以簡化程式設計模型。本文將告訴您一些這些複雜情況。在另外本文將告訴您如何 ASP.NET 處理傳統的 Microsoft 動態伺服器網頁 (ASP) 應用程式 物件的相容性問題。 本文分為下列各節: 其他相關資訊應用程式類別和應用程式執行個體應用程式類別是在 Global.asax 檔中定義的。在 Global.asax 中的程式碼定義衍生自 System.Web.HttpApplication 的新類別。如果沒有使用 Global.asax 檔案,基底類別 HttpApplication,當做應用程式類別使用。ASP.NET 執行階段會建立多個類別執行個體的應用程式視需要同時處理要求。對於大部分應用程式這個數目受限於執行緒的數目,而會維持在 1 到取決於硬體、 伺服器負載、 組態及等等的 100 的範圍。許多要求重複使用應用程式執行個體及應用程式執行個體的可用清單保留期間的降低負載。應用程式執行個體是以安全執行緒方式使用,也就是一個要求一次。這有重大的影響:
使用下列方針來存取與目前要求相關聯的應用程式執行個體:
應用程式事件要求的存留期 (Lifetime) 是由一系列的應用程式事件 (和 ASP.NET 實作一些隱含步驟) 所組成。以下列出這些事件會執行的順序:
下列項目可以處理這些事件:
附註在大多數情況下實際回應是傳送至用戶端應用程式執行個體完成與回應 (也就是在 EndRequest 之後) 之後。 Application_OnStart 和 Application_OnEndASP.NET 會介紹,唯一 Application_OnStart 和 Application_OnEnd 「 事件 」 與典型的 ASP 的相容性。這些 「 事件 」 在存留期的應用程式,而不是每個應用程式執行個體中執行的一次。因此,如果您變更這些方法中的非靜態成員,您會影響只有一個應用程式執行個體和不是所有執行個體。您可以初始化一個應用程式執行個體在建構函式,或是藉由覆寫 初始化 方法。Application_OnStart 與應用程式] 類別的類別建構函式邏輯相等的動作,但它提供了一個優點: 在程式碼可存取 HttpContext 第一次要求應用程式。 應用程式狀態應用程式狀態是全域的字典的典型的 ASP 引進彌補 Microsoft Visual Basic 指令碼版 (VBScript) 中的全域變數不存在的晚期繫結物件。在 ASP.NET 中,您可以透過下列其中一項存取應用程式狀態:
若要存取靜態應用程式成員從 Microsoft Visual C#.NET 和 Microsoft Visual Basic.NET 中的網頁,您必須使用在 Global.asax 中的 ClassName] 屬性來命名您的應用程式類別為範例: 屬性文章編號: 312607 - 上次校閱: 2004年1月21日 - 版次: 5.3
機器翻譯 重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:312607
(http://support.microsoft.com/kb/312607/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 文章翻譯 |




回此頁最上方








