.Net-Framework-框架工作原理_第1頁
.Net-Framework-框架工作原理_第2頁
.Net-Framework-框架工作原理_第3頁
.Net-Framework-框架工作原理_第4頁
.Net-Framework-框架工作原理_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.Net Framework 框架工作原理從.Net Framework 1.0.Net Framework ,版本在不斷升級,那么,這些版本升級了什么.Net Framework.Net Framework 4.0,其框架結(jié)構(gòu)沒什么大的變化,都是CLR在 OS上面,基類庫在CLR上面,再之上是ADO.NET,XML等,再之上是 ,window ,最上層就是我們經(jīng)常用到的各種.Net開發(fā)工具了框架圖如下:Microsoft .NET Framework由應用程序開發(fā)技術(shù)、Microsoft .NET Framework 類庫、基類庫和公共語言運行庫(CLR)4個部分組成。這 4個部分如圖所示,

2、每個較高的層都使用一個或多個較低的層。應用程序開發(fā)技術(shù)位于框架的最上方,是應用程序開發(fā)人員開發(fā)的主要對象。它包括 ASP .NET技術(shù)和WinFroms 技術(shù)等高級編程技術(shù)。Microsoft .NET Framework 類庫是一個綜合性的類型集合,用于應用程序開發(fā)的一些支持性的通用功能。開發(fā)人員可以使用它開發(fā)多種模式的應用程序,可以是命令行形式,也可以圖形界面形式的應用。Microsoft .NET Framework (ADO .NET等)XML(LDAP等)、正則表達式和消息支持。3基類庫基類庫提供了支持底層操作的一系列通用功能。Microsoft .NET 框架主要覆蓋了集合操作、線

3、程支持、代碼生成、輸入輸出(IO)、映射和安全等領(lǐng)域的內(nèi)容。公共語言運行庫是 Microsoft .NET Framework 的基礎(chǔ)內(nèi)容,也是Microsoft .NET程序的運行環(huán)境,用于執(zhí)行和管理任何一種針對 Microsoft .NET平臺的所有代碼。CLR可以為應用程序提供很多核心服務(wù),如內(nèi)存管理、線程管理和遠程處理等,并且還強制實施代碼的安全性和可靠性管理。下面簡要介紹 Microsoft .NET C# 程序后臺(1) 多語言支持。在 Microsoft .NET 平臺上,所有的語言都是等價的,它們都是基于公共語言運行庫(CLR)的運行環(huán)境進行編譯運行。所有Microsoft .

4、NET 支持的語言,不管是Visual Basic .NET VisualC+C# 還是 Jscript ,都是平等的。用這種語言編寫的代碼都被編譯成一種中間代碼,在公共語言運行庫中運行。在技術(shù)上這種語言與其他語言相比沒有很大的區(qū)別,用戶可以根據(jù)自己熟悉的編程語言進行操作。在本書中使用 C# 進行編程,因為C# 是一種優(yōu)秀的程序開發(fā)語言,它簡潔、高效且便于使用。主要用于 Microsoft .NET框架中面向組件的領(lǐng)域。(2) Microsoft .NET框架的另一個重要特點就是多平臺支持。不過相對于 Java 技術(shù)能夠跨越 Linux 和Windows Microsoft .NET 的跨平臺

5、性僅限于各種 Windows 操作系統(tǒng),如Windows 95/98Windows NTWindows 2000 和 Windows XP 等。(3) 性能。Microsoft .NET的基本設(shè)計目標之一就是具有強大的性能和可伸縮性。對于Microsoft .NET 來說,要具備很好的性能要靠公共語言運行庫來執(zhí)行中間代碼。為了確保最佳性能,在某也可以在應用程序首次安裝時完成。有了公共語言運行庫,就可以很容易地設(shè)計出對象能夠跨語言交互的組件和應用程序。也就是說,用不同語言編寫的對象可以互相通信,并且它們的行為可以緊密集成。例如,可以定義一個類,然后使用不同的語言從原始類派生出另一個類或調(diào)用原始類

6、的方法。還可以將一個類的實例傳遞到用不同的語言編寫的另一個類的方法。這種跨語言集成之所以成為可能,是因為基于公共語言運行庫的語言編譯器和工具使用由公共語言運行庫定義的通用類型系統(tǒng),而且它們遵循公共語言運行庫關(guān)于定義新類型以及創(chuàng)建、使用、保持和綁定到類型的規(guī)則。圖 1.32列出了各種程序與 CLR之間的關(guān)系。我們平時用 csc.exe 編譯器編譯后的程序都是 MSIL形式的,包括 window form和 中的.exe和.dll CLR環(huán)境下由 CLR環(huán)境的 JIT后本地代碼在 CLR托管環(huán)境下CLR負責內(nèi)存管理,垃圾回收等工作,同時負責與OS通信,包括OS上的其他非托管軟件何為托管代碼和非托管

7、代碼?托管代碼是在.NET MSIL CLR的 JIT即時編譯后在 CLR托管下運行,故這些代碼稱為托管代碼而沒在.NET的基礎(chǔ)上開發(fā)出來的代碼,如 C/C+/vb開發(fā)出來的 COM組件或者 API,它們一旦編譯后就編譯成基于 OS的本地代碼,它們直接與 OS通信,中間沒有經(jīng)過 CLR這個中間者,而且內(nèi)存等管理是手動管理的,此類代碼稱之為非托管代碼前面講的是.Net Framework各版本之間相同之處,即主要框架結(jié)構(gòu)模型是相同的,那么,他們之間的最主要的區(qū)別是什么呢?先看看.Net Framework3.0的框架圖:可以看到,3.0還是用的 2.0的基類庫和CLR,只不過在 2.0的原有 2

8、.0,window forms2.0技術(shù)的基礎(chǔ)上增加了WCF,WPF,WWF 等新技術(shù),其底層還是和2.0一樣,故如果3.0開發(fā)編譯后的東西沒有用到新的基類庫的話,一樣可以在 2.0上運行這里需要再說明下 CLR的 JIT是如何加載編譯程序集的JIT并非所有 using引用的程序集都加載編譯的,它只加載編譯要用到的程序集,故把一個類作為一個類文件編譯成一個組件或者說是程序集,比并把幾個類寫成一個文件編譯成一個程序集,可以減少很多的加載編譯量,所以最好一個功能,一個類單獨寫成一個程序集.Net 3.5在 3.0的基礎(chǔ)上對之前功能的增強外,還新增加了幾個新技術(shù).NET 3.5并未對.NET 2.0

9、現(xiàn)存的技術(shù)進行任何改動,包括 ASP.NET、ADO.NET和WinForm 在內(nèi)的主要技術(shù)都保持原樣,這對熟練掌握.NET 2.0的技術(shù)人員是個好消息,他們所掌握的技術(shù)仍然很有價值。根據(jù)微軟.NET平臺發(fā)展趨勢來看,.NET 2.0平臺將為.NET 3.5提供基礎(chǔ)類庫,.NET 3.5將著重引入語法,數(shù)據(jù)訪問和 Web客戶端上的一些創(chuàng)新??梢园?NET 3.5看做是.NET 2.0的超集,是對.NET 2.0的一次補充。如果開發(fā)者是從.NET 1.0或 1.1遷移到 3.5,那么需要考慮代碼的兼容性問題,盡管.NET框架已經(jīng).NET 2.0到3.5.NET Framework 3.5 的所有

10、組件都可在支持 .NET Framework 3.5 的平臺上運行。.NET 3.5還增加了 LINQ ASP.NET的 OR/MASP.NET Entity )等新功能。這些新功能增強了 VB和 C#等語言的作用,為.NET環(huán)境提供了 OR/M框架,它們都可以和WPF/WCF和WF共同工作,創(chuàng)建強大的應用程序。.net framework 2.0 = CLR 2.0 + FCL(framework class library)這三個版本 framework的 CLR都是 的runtime還是只有1.1和 2.0,像Linq這些新功能其實只是用新的編譯器加上一些新的類庫來實現(xiàn)的,3.5版本并沒

11、有對 CLR做大的升級。VS2008支持在2.03.0和 3.5三種版本下開發(fā)項目,VS2005的項目可以平穩(wěn)的升到 VS2008上,在 VS2008下做 VS2005 VS2005Framework 3 SP1除了修正了一些Framework 2的 bug之外,主要的擴展是加了3W框架,分別是WPFWCFWWFF3.5和 F3 BugLINQWFWCFAdd-in(今后會被 MEF替代)Framework 3.5 Dynamic Entity Framework,Data Services Framework 3 LinqLambda,擴展函數(shù),var類型的使用等等。.NET Framewo

12、rk 4與 Framework 3.5 SP1 Framework中可以運行的應用程序,將繼續(xù)能夠運行在.NET Framework 4上。在 Visual Basic和 C 語言中有所創(chuàng)新,例如聲明lambdas 、隱線continuations 、動態(tài)調(diào)度、并命名/可選參數(shù)等。在 ADO.NET的程序。這些新功能包括:持續(xù)忽略、POCO支持、延遲加載,測試驅(qū)動開發(fā)的支持、功能模型以及新的LINQ運營商等。一、以下是 ASP.NET中的改進:在WPF 中增加Windows 7ribbon控制、任務(wù)欄擴展功能支持;在WPF 中增加 Surface 2.0 SDK支持;新的業(yè)務(wù)線控制,包括圖表控

13、制,智能編輯,數(shù)據(jù)網(wǎng)格,以及其他能夠提高“建立數(shù)據(jù)中心的應用程序”的開發(fā)者經(jīng)驗的控制。在文字、像素布局、本地化和互操作性中添加可視化改進;Windows WorkflowWF)中的改進讓開發(fā)者能夠更好地控制工作流程,具體改進如下:四、.NET框架還為基于WF 的工作流程提供重大的性能改進:改進Windows 通訊基礎(chǔ)( WCF )構(gòu)架,例如流服務(wù)相關(guān)支持,雙向通信的持久性等。.NET框架 4還提供了新的WCF 功能,例如服務(wù)發(fā)現(xiàn)、路由器服務(wù)、簡化配置、REST支持、診斷和性.visual studio 2005 是 IDE, 就是集成開發(fā)環(huán)境,只是一個工具,你可以理解為一個功能強大的編輯器(記

14、事本?).net framework2.0 是運行環(huán)境, .net framework2.0 sdk是開發(fā)環(huán)境,沒有前者,你就不能運行.net 程序,沒有后者,你就不能做.net 開發(fā)。通常 vs 會自帶.net framework sdk, 但做.net 開發(fā)一定要明白什么是什么。其實即使沒有 vs2005 之類的ide,在純命令行下都可以用.net sdk 做開發(fā)的。我是做 java 的,沒裝,但是概念肯定是這樣。這就好比 eclipse 和 jre 和 jdk 的關(guān)系。.NET Framework.NET Framework SDK的區(qū)別,以及使用上的不同1、.NET Framework

15、與.NET Framework SDK有區(qū)別2、什么是.NET Framework.NET Framework 是微軟開發(fā)的運行于各個操作系統(tǒng)之上的.NET 軟件運行平臺,相對獨立于微軟的各個操作系統(tǒng)之上 。只要安裝了 .NET Framework,則從 Windows 98 到Windows XP 都可以運行.NET 程序。3、是否要安裝.NET Framework同時對于基于.NET Framework 開發(fā)的程序,必須運行在.NETFramework的平臺上。目前至少有超過的自己開發(fā)的應用程序是基于.NET Framework裝 Microsoft 的各種操作系統(tǒng)之后,安裝.NET 。4

16、、.NET Framework的功能.NET Framework.NET 程序運行時支持和功能強大的類庫。可以從微軟網(wǎng)站免費下載。5、.NET Framework版本目前包括的版本包括 .NET Framework V1.1 版、目前包括的版本包括.NET Framework V2.0版、目前包括的版本包括.NET Framework V3.5.NET Framework V4版。其中1.1版和 2.0 版之間有本質(zhì)差別,可能出現(xiàn)不兼容情況。一般使用 V2.0以上版本就夠了。.NET Framework與.NET Framework SDK的區(qū)別,以及使用上的不同1、.NET Framework與.NET Framework SDK的區(qū)別.NET .NET 應用程序,而不能開發(fā).NET 應用程序。2、什么是.NET Framework SDK.NET Framework SDK 包括了微軟提供的.NET 語言編譯器(如C#編譯器 CSC.exe和 VB.NET 編譯器VBC.exe.NET Framewo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論