.NET Framework非托管相關概念詳解
可能大多數開發人員都知道.NET Framework托管的相關含義。但是又有多少人知道.NET Framework非托管是什么呢?在這里我們就會為大家詳細介紹一下.NET Framework非托管的相關概念。#t#
可以理解為所有.net程序的環境支持,或說運行環境。
詳細解釋:
NET Framework 是一種新的計算平臺,它簡化了在高度分布式 Internet 環境中的應用程序開發。.NET Framework 旨在實現下列目標:
提供一個一致的面向對象的編程環境,而無論對象代碼是在本地存儲和執行,還是在本地執行但在 Internet 上分布,或者是在遠程執行的。
提供一個將軟件部署和版本控制沖突最小化的代碼執行環境。
提供一個保證代碼(包括由未知的或不完全受信任的第三方創建的代碼)安全執行的代碼執行環境。
提供一個可消除腳本環境或解釋環境的性能問題的代碼執行環境。
使開發人員的經驗在面對類型大不相同的應用程序(如基于 Windows 的應用程序和基于 Web 的應用程序)時保持一致。
按照工業標準生成所有通信,以確保基于 .NET Framework 的代碼可與任何其他代碼集成。
.NET Framework 具有兩個主要組件:公共語言運行庫和 .NET Framework 類庫。公共語言運行庫是 .NET Framework 的基礎。您可以將運行庫看作一個在執行時管理代碼的代理,它提供核心服務(如內存管理、線程管理和遠程處理),而且還強制實施嚴格的類型安全以及可確保安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為.NET Framework非托管代碼。.NET Framework 的另一個主要組件是類庫,它是一個綜合性的面向對象的可重用類型集合,您可以使用它開發多種應用程序,這些應用程序包括傳統的命令行或圖形用戶界面 (GUI) 應用程序,也包括基于 ASP.NET 所提供的最新創新的應用程序(如 Web 窗體和 XML Web services)。
.NET Framework 可由非托管組件承載,這些組件將公共語言運行庫加載到它們的進程中并啟動托管代碼的執行,從而創建一個可以同時利用托管和非托管功能的軟件環境。.NET Framework 不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發。
例如,ASP.NET 承載運行庫以為托管代碼提供可伸縮的服務器端環境。ASP.NET 直接使用運行庫以啟用 ASP.NET 應用程序和 XML Web services(本主題稍后將對這兩者進行討論)
Internet Explorer 是承載運行庫(以 MIME 類型擴展的形式)的.NET Framework非托管應用程序的一個示例。使用 Internet Explorer 承載運行庫使您能夠在 HTML 文檔中嵌入托管組件或 Windows 窗體控件。以這種方式承載運行庫使得托管移動代碼(類似于 Microsoft® ActiveX® 控件)成為可能,但是它具有只有托管代碼才能提供的重大改進(如不完全受信任的執行和安全的獨立文件存儲)。