詳解基于C#的.NET Framework
基于C#的.NET Framework是什么組成呢?核心的是什么?基于C#的.NET Framework的命名空間是什么呢?基于C#的.NET Framework的開發(fā)技術(shù)又有哪些呢?那么現(xiàn)在就開始我們的講述:
一、理解.NET Framework組成:底層操作系統(tǒng),如WinXP等等,應(yīng)用程序服務(wù),COM+、IIS、MSMQ等等服務(wù),CLR,最為重要的環(huán)境,提供了安全和強壯的執(zhí)行環(huán)境,.NET Framework類庫,擴展了CLR的功能,一致的編程接口,ADO.NET,下一代的數(shù)據(jù)訪問組件,ASP.NET的支持,一個基于CLR中的動態(tài)編程模型WebService,對此提供了支持
用戶界面,展現(xiàn)程序。
CLR,最為重要,***,它是一個類加載器,管理元數(shù)據(jù)和加載類等等;第二,它是MSIL(中間語言)的代碼編譯器,把MSIL轉(zhuǎn)換為本地代碼;第三,所以說它也是一個代碼管理器,可以管理和執(zhí)行代碼;第四,它更可以自動進行垃圾回收,對所有的對象提供自動生命周期管理,支持多處理器;第五,它提供了安全引擎,惡意代碼的運行基本不可能;第六,它提供了調(diào)試器,使開發(fā)者能夠調(diào)試應(yīng)用程序和根據(jù)代碼執(zhí)行;第七,它提供了類型檢查器,不允許不安全的類型轉(zhuǎn)換和未初始化變量MSIL可被校驗以保證類型安全;第八,它提供了異常管理器,對異常的處理更加方便也更易;第九,它支持多線程編程,可以***限度電腦性能;第十,它擁有COM封送拆收器,可以在COM組件中封送。
.NET類庫,跨所有編程語言從C++、VB到C#,面向?qū)ο蠛鸵恢碌木幊探涌?,?nèi)建的公共類型系統(tǒng),是可以擴展的,更加是安全的。
ADO--數(shù)據(jù)與Xml,兩個命名空間,System.Dataetc和System.Xmletc
XMLWEBService,用XMl來發(fā)送數(shù)據(jù)和接收信息
ASP.NET在System.Web.UI下面
命名空間,是.NET避免類名沖突的一種方式,.NETFramework擁有大量的類,所有要方便組織和管理,就要進行分層,就使用命名空間體系結(jié)構(gòu),其中的System是根命名空間,包含異常處理、垃圾回收、數(shù)據(jù)處理、文本處理等等類庫。
二、使用命名空間,可以完全路徑也可以使用Using語句導(dǎo)入貧下命名空間,也可以為自己寫的類命名自定義的命名空間,總之,所有的類都要在某個命名空間下,沒有明確提供命名空間的自動添加到?jīng)]有名稱的全局命名空間。
csc的參數(shù),/t指定編譯目標,/r引用程序集,/doc注釋到XML文件
托管代碼的執(zhí)行過程
源代碼經(jīng)過編譯得到MSIL和元數(shù)據(jù),類加載器載入,JIT編譯到本地托管代碼,執(zhí)行時進行安全檢查。
元數(shù)據(jù),包含應(yīng)用程序的信息,如版本、區(qū)域、公鑰信息,類型成員(方法、字段、屬性等等),安全許可證信息,該程序集依賴的其它程序集,共聚物包含了所有.NET Framework文件和資源文件,如txt、xml、聲音圖像文件等等。
作用也是很明顯的,可以加載和定位類,也增強了代碼安全性,可以解析方法調(diào)用,提供反射支持。(“反射”是很有用的。)
MSIL,可以由支持中間語言的編譯器產(chǎn)生,在執(zhí)行之前,要由JIT編譯器轉(zhuǎn)將MSIL換到本地代碼。
與MSIL一起工作的JIT工具有ilasm.exe(MSILAsemblly,從MSIL中自成BinaryCode),ildasm.exe(MSILdeasemblly,檢查元數(shù)據(jù)和托管BinaryCode),sn.exe(Strongname)
JIT,對特定的CPU有優(yōu)化,對MSIL按需生成代碼,調(diào)用已編譯的本地代碼。
垃圾回收,自動進行對象內(nèi)存管理,不再手動進行內(nèi)存的跟蹤和管理,已經(jīng)由垃圾回收引擎適當?shù)刈詣舆M行。
三、關(guān)鍵開發(fā)技術(shù):winForm,Web窗體,XMLWebService三種,的確挺關(guān)鍵的
創(chuàng)建簡單的組件:使用namespace和聲明類,實現(xiàn)結(jié)構(gòu)化異常處理,使用屬性,編譯組件(代碼重用) csc/target:library/out:*.dll*.cs
注:.Net的異常處理很有特點:
1、處理異常時不考慮生成異常的語言和處理異常的語言
2、處理異常時不要求特定的語法,可以定義自己的語法
3、允許跨進程甚至跨計算機邊界引發(fā)異常
4、所有的異常都是從Exception類繼續(xù)來的。
基于C#的.NET Framework的基本內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)基于C#的.NET Framework有所幫助。
【編輯推薦】