您的位置:首頁 > 軟件資訊 > 編程技巧 > 網(wǎng)站開發(fā)
來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-16 13:07:12
問:什么叫應(yīng)用程序域?
答:應(yīng)用程序域為安全性、可靠性、版本控制以及卸載程序集提供了隔離邊界。
操作系統(tǒng)和運行庫環(huán)境通常會在應(yīng)用程序間提供某種形式的隔離。例如,Microsoft Windows 使用進程來隔離應(yīng)用程序。為確保在一個應(yīng)用程序中運行的代碼不會對其他不相關(guān)的應(yīng)用程序產(chǎn)生不良影響,這種隔離是必需的。
應(yīng)用程序域通常由運行庫宿主創(chuàng)建,運行庫宿主負(fù)責(zé)在運行應(yīng)用程序之前引導(dǎo)公共語言運行庫。應(yīng)用程序域提供了一個更安全、用途更廣的處理單元,公共語言運行庫可使用該單元提供應(yīng)用程序之間的隔離。
應(yīng)用程序域 (application domain) (AppDomain)
一種邊界,它由公共語言運行庫圍繞同一應(yīng)用程序范圍內(nèi)創(chuàng)建的對象建立(即,從應(yīng)用程序入口點開始,沿著對象激活的序列的任何位置)。應(yīng)用程序域有助于將在一個應(yīng)用程序中創(chuàng)建的對象與在其他應(yīng)用程序中創(chuàng)建的對象隔離,以使運行時行為可以預(yù)知。在一個單獨的進程中可以存在多個應(yīng)用程序域。
以前使用進程邊界來隔離在同一臺計算機上運行的應(yīng)用程序。每一個應(yīng)用程序被加載到單獨的進程中,這樣就將該應(yīng)用程序與在同一臺計算機上運行的其他應(yīng)用程序相隔離。
隔離這些應(yīng)用程序的原因在于內(nèi)存地址是與進程相關(guān)的;在目標(biāo)進程中,不能通過任何有意義的方式使用從一個進程傳遞到另一個進程的內(nèi)存指針。此外,您不能在兩個進程間進行直接調(diào)用。您必須代之以使用代理,它提供一定程度的間接性。
托管代碼必須先通過一個驗證過程,然后才能運行(除非管理員已授權(quán)跳過該驗證)。此驗證過程將驗證以下內(nèi)容:這些代碼是否會嘗試訪問無效的內(nèi)存地址?是否會嘗試執(zhí)行某些導(dǎo)致進程(該代碼運行時所在的進程)無法正常進行的其他操作?通過此驗證測試的代碼將被認(rèn)為是類型安全的。由于公共語言運行庫能夠驗證代碼是否為類型安全的代碼,所以它可以提供與進程邊界一樣大的隔離級別,而其性能開銷則要低得多。
應(yīng)用程序域提供安全而通用的處理單元,公共語言運行庫可使用它來提供應(yīng)用程序之間的隔離。您可以在具有同等隔離級別(存在于單獨的進程中)的單個進程中運行幾個應(yīng)用程序域,而不會造成進程間調(diào)用或進程間切換等方面的額外開銷。在一個進程內(nèi)運行多個應(yīng)用程序的能力顯著增強了服務(wù)器的可伸縮性。
隔離應(yīng)用程序?qū)τ趹?yīng)用程序安全也是十分重要的。例如,您可以在單個瀏覽器進程中運行幾個 Web 應(yīng)用程序中的控件,同時使這些控件不能訪問彼此的數(shù)據(jù)和資源。
應(yīng)用程序域所提供的隔離具有以下優(yōu)點:
在一個應(yīng)用程序中出現(xiàn)的錯誤不會影響其他應(yīng)用程序。因為類型安全的代碼不會導(dǎo)致內(nèi)存錯誤,所以使用應(yīng)用程序域可以確保在一個域中運行的代碼不會影響進程中的其他應(yīng)用程序。
能夠在不停止整個進程的情況下停止單個應(yīng)用程序。使用應(yīng)用程序域使您可以卸載在單個應(yīng)用程序中運行的代碼。
注意 不能卸載單個程序集或類型。只能卸載整個域。
在一個應(yīng)用程序中運行的代碼不能直接訪問其他應(yīng)用程序中的代碼或資源。為了強制實施此隔離,公共語言運行庫禁止在不同應(yīng)用程序域中的對象之間進行直接調(diào)用。要在各域之間傳遞對象,可以復(fù)制這些對象,或通過代理訪問這些對象。如果復(fù)制對象,那么對該對象的調(diào)用為本地調(diào)用。也就是說,調(diào)用方和被引用的對象位于同一應(yīng)用程序域中。如果通過代理訪問對象,那么對該對象的調(diào)用為遠程調(diào)用。在此情況下,調(diào)用方和被引用的對象位于不同的應(yīng)用程序域中。域間調(diào)用所采用的遠程調(diào)用結(jié)構(gòu)與兩個進程間的調(diào)用或兩臺計算機間的調(diào)用結(jié)構(gòu)相同。
全程面授,不高薪都難
申請成功后,我們將在24小時內(nèi)與您聯(lián)系
招生熱線: 4008-0731-86 / 0731-82186801
學(xué)校地址: 長沙市天心區(qū)團結(jié)路6號
Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有
湘ICP備14017520號-3