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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、代碼?托管代碼是在.NET MSIL CLR的 JIT即時(shí)編譯后在 CLR托管下運(yùn)行,故這些代碼稱為托管代碼而沒在.NET的基礎(chǔ)上開發(fā)出來的代碼,如 C/C+/vb開發(fā)出來的 COM組件或者 API,它們一旦編譯后就編譯成基于 OS的本地代碼,它們直接與 OS通信,中間沒有經(jīng)過 CLR這個(gè)中間者,而且內(nèi)存等管理是手動(dòng)管理的,此類代碼稱之為非托管代碼前面講的是.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上運(yùn)行這里需要再說明下 CLR的 JIT是如何加載編譯程序集的JIT并非所有 using引用的程序集都加載編譯的,它只加載編譯要用到的程序集,故把一個(gè)類作為一個(gè)類文件編譯成一個(gè)組件或者說是程序集,比并把幾個(gè)類寫成一個(gè)文件編譯成一個(gè)程序集,可以減少很多的加載編譯量,所以最好一個(gè)功能,一個(gè)類單獨(dú)寫成一個(gè)程序集.Net 3.5在 3.0的基礎(chǔ)上對(duì)之前功能的增強(qiáng)外,還新增加了幾個(gè)新技術(shù).NET 3.5并未對(duì).NET 2.0

9、現(xiàn)存的技術(shù)進(jìn)行任何改動(dòng),包括 ASP.NET、ADO.NET和WinForm 在內(nèi)的主要技術(shù)都保持原樣,這對(duì)熟練掌握.NET 2.0的技術(shù)人員是個(gè)好消息,他們所掌握的技術(shù)仍然很有價(jià)值。根據(jù)微軟.NET平臺(tái)發(fā)展趨勢(shì)來看,.NET 2.0平臺(tái)將為.NET 3.5提供基礎(chǔ)類庫,.NET 3.5將著重引入語法,數(shù)據(jù)訪問和 Web客戶端上的一些創(chuàng)新。可以把.NET 3.5看做是.NET 2.0的超集,是對(duì).NET 2.0的一次補(bǔ)充。如果開發(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 的平臺(tái)上運(yùn)行。.NET 3.5還增加了 LINQ ASP.NET的 OR/MASP.NET Entity )等新功能。這些新功能增強(qiáng)了 VB和 C#等語言的作用,為.NET環(huán)境提供了 OR/M框架,它們都可以和WPF/WCF和WF共同工作,創(chuàng)建強(qiáng)大的應(yīng)用程序。.net framework 2.0 = CLR 2.0 + FCL(framework class library)這三個(gè)版本 framework的 CLR都是 的runtime還是只有1.1和 2.0,像Linq這些新功能其實(shí)只是用新的編譯器加上一些新的類庫來實(shí)現(xiàn)的,3.5版本并沒

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

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

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

14、事本?).net framework2.0 是運(yùn)行環(huán)境, .net framework2.0 sdk是開發(fā)環(huán)境,沒有前者,你就不能運(yùn)行.net 程序,沒有后者,你就不能做.net 開發(fā)。通常 vs 會(huì)自帶.net framework sdk, 但做.net 開發(fā)一定要明白什么是什么。其實(shí)即使沒有 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ā)的運(yùn)行于各個(gè)操作系統(tǒng)之上的.NET 軟件運(yùn)行平臺(tái),相對(duì)獨(dú)立于微軟的各個(gè)操作系統(tǒng)之上 。只要安裝了 .NET Framework,則從 Windows 98 到Windows XP 都可以運(yùn)行.NET 程序。3、是否要安裝.NET Framework同時(shí)對(duì)于基于.NET Framework 開發(fā)的程序,必須運(yùn)行在.NETFramework的平臺(tái)上。目前至少有超過的自己開發(fā)的應(yīng)用程序是基于.NET Framework裝 Microsoft 的各種操作系統(tǒng)之后,安裝.NET 。4

16、、.NET Framework的功能.NET Framework.NET 程序運(yùn)行時(shí)支持和功能強(qiáng)大的類庫。可以從微軟網(wǎng)站免費(fèi)下載。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 應(yīng)用程序,而不能開發(fā).NET 應(yīng)用程序。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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論