.NET Framework非託管相關概念詳解
- .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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 重學c#系列——c# 託管和非託管資源與程式碼相關(四)C#
- [.net 物件導向程式設計進階] (8) 託管與非託管物件程式設計
- 託管與非託管的混合程式設計程式設計
- C# 託管資源和非託管資源C#
- 相關子查詢&非相關子查詢概念
- ASP.NET Core託管執行Quartz.NET作業排程詳解ASP.NETquartz
- 重學c#系列——c# 託管和非託管資源(三)C#
- 博森量化軟體:託管錢包與非託管錢包的區別?
- .NET 5 中 Target Framework 詳解Framework
- 詳細講解Oracle表分割槽相關概念及優點Oracle
- 重學c#系列——非託管例項(五)C#
- Docker相關概念Docker
- Scrum相關概念Scrum
- CSS float相關詳解CSS
- 記一次 .NET 某桌面奇俠遊戲 非託管記憶體洩漏分析遊戲記憶體
- 記一次 .NET 某智慧水廠API 非託管記憶體洩漏分析API記憶體
- .NET6 平臺系列2 .NET Framework框架詳解Framework框架
- 翻譯 - ASP.NET Core 託管和部署 - 在 Linux 上使用 Nginx 託管 ASP.NET Core 網站ASP.NETLinuxNginx網站
- 利用IDisposable介面構建包含非託管資源物件物件
- C#網站呼叫C++非託管dll須知C#網站C++
- ASP.NET Core 託管和部署(一)【Kestrel】ASP.NET
- windows 服務中託管asp.net coreWindowsASP.NET
- JS的相關概念JS
- SharePoint Framework 在Visual Studio Code中除錯你的託管解決方案Framework除錯
- 記一次 .NET 某電子廠OA系統 非託管記憶體洩露分析記憶體洩露
- C#如何載入嵌入到資源的非託管dllC#
- Linux透過 Docker 可以託管 .NET Core啦!LinuxDocker
- 託管程式碼(.net)比非託管程式碼(vc++)慢嗎?C++
- docker相關概念筆記Docker筆記
- Java併發相關概念Java
- ASM之ASM相關概念ASM
- ASM相關概念(筆記)ASM筆記
- 委託與事件-委託詳解(一)事件
- 【詳解】WebSocket相關知識整理Web
- 觀察者模式與.Net Framework中的委託與事件模式Framework事件
- 《從零開始學Swift》學習筆記(Day 62)——Core Foundation框架之記憶體託管物件與非託管物件Swift筆記框架記憶體物件
- 如何從Spring之外的非託管物件訪問 Spring Bean?Spring物件Bean
- 『IOS 概念性解說』framework 與. aiOSFramework