.NET Framework非託管相關概念詳解

iDotNetSpace發表於2010-03-19
    .NET Framework非託管與託管之間到底有什麼不同之處呢?我們可以從這篇文章中進行詳細的瞭解,幫助我們對這一方面的知識的解讀。

    可能大多數開發人員都知道.NET Framework託管的相關含義。但是又有多少人知道.NET Framework非託管是什麼呢?在這裡我們就會為大家詳細介紹一下.NET Framework非託管的相關概念。

可以理解為所有.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® 控制元件)成為可能,但是它具有隻有託管程式碼才能提供的重大改進(如不完全受信任的執行和安全的獨立檔案儲存)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-629955/,如需轉載,請註明出處,否則將追究法律責任。

相關文章