.net中應用程式域的概念
在.NET平臺下,程式集並沒有直接承載在程式中(而傳統的win32程式是直接承載的)。實際上.NET可執行程式承載在程式的一個邏輯分割槽中,術語稱為應用程式域(也稱AppDomain)。可見,一個程式可以包含多個應用程式域,每一個應用程式域中承載一個.NET可執行程式,這樣的好處如下:
應用程式域是.NET平臺作業系統獨立性的關鍵特性。這種邏輯分割槽將不同作業系統載入可執行程式的差異抽象化了。
和一個完整的程式相比,應用程式域的CPU和記憶體佔用要小的多。因此CLR載入和解除安裝應用程式域比起完整的程式來說也快的多。
應用程式域為承載的應用程式提供了深度隔離。如果程式中一個應用程式域失敗了,其他的應用程式域也能保持正常。
應用程式域是.NET平臺作業系統獨立性的關鍵特性。這種邏輯分割槽將不同作業系統載入可執行程式的差異抽象化了。
和一個完整的程式相比,應用程式域的CPU和記憶體佔用要小的多。因此CLR載入和解除安裝應用程式域比起完整的程式來說也快的多。
應用程式域為承載的應用程式提供了深度隔離。如果程式中一個應用程式域失敗了,其他的應用程式域也能保持正常。
AppDomain的主要成員:
CreateDomain():該靜態方法在當前程式中建立一個新的應用程式域。由於CLR能夠根據需要建立應用程式域,所以必須呼叫這個方法的機會很少。
GetCurrentThreadId():該靜態方法返回當前應用程式域上活動的執行緒ID。
UnLoad():該靜態方法在程式中解除安裝指定的應用程式域。
BaseDirectory:獲取基目錄,該目錄用於探測相關的程式集。
CreateInstance():在指定程式集檔案中建立指定型別的新例項。
ExecuteAssembly():根據檔名在應用程式域中執行程式集。
GetAssemblies():獲取已載入到此應用程式域中的.NET程式集(基於COM和C的二進位制檔案除外)。
Load():動態載入程式集到當前應用程式域。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-557579/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET的應用程式域須知ASP.NET
- WORD中域的應用
- union 的概念及在嵌入式程式設計中的應用程式設計
- ASP.NET內幕 - ISAPI和應用程式域之間的橋樑ASP.NETAPI
- Docker容器中執行.Net Core應用程式Docker
- 微服務 - 概念 · 應用 · 通訊 · 授權 · 跨域 · 限流微服務跨域
- 隱藏域在Ajax中的應用
- 2.3 應用程式容器中的應用程式概述
- Contravariance 概念在計算機程式設計中的應用計算機程式設計
- Attribute在.net程式設計中的應用(一) (轉)程式設計
- Attribute 在.NET程式設計中的應用(二) (轉)程式設計
- Attribute在.NET程式設計中的應用(四) (轉)程式設計
- Attribute在.NET程式設計中的應用(五) (轉)程式設計
- Attribute在.NET程式設計中的應用(三) (轉)程式設計
- 在netweaver中建立應用程式客戶端客戶端
- C 結構體中的位域概念結構體
- 聊聊.net應用程式的Docker映象Docker
- ASP.NET快取概念及其應用淺析ASP.NET快取
- .Net core 中 AutoMapper的應用APP
- ASP.NET的模擬應用程式ASP.NET
- .Net 中的反應式程式設計程式設計
- PLC程式中的配方應用C程式
- 什麼叫應用程式域(AppDomain)?APPAI
- mscorwks.dll在.Net中的地位以及在.Net程式碼保護方面的應用
- 在Docker容器中執行ASP.NET MVC應用程式DockerASP.NETMVC
- 如何在.NET電子表格應用程式中建立流程圖流程圖
- 在.NET框架應用程式中傳送電子郵件框架
- ZooKeeper概念與應用
- VB.net中HOOK的應用(二) (轉)Hook
- 使用 dotnet-monitor 分析.NET 應用程式
- 快速搞懂.NET 5/.NET Core應用程式的釋出部署
- 構建安全的ASP.NET應用程式ASP.NET
- 開發安全的ASP.NET應用程式ASP.NET
- .NET Core應用程式的2種部署方式
- 卷積操作的概念及其在深度學習中的應用卷積深度學習
- BFC的概念與應用場景
- 從Chat-GPT瞭解技術概念及醫療領域應用GPT
- Docker中部署.NET CORE應用(控制檯應用程式篇)Docker