![NET Framework概述_第1頁](http://file4.renrendoc.com/view/799fb43cabd34c9297000c5301e4e6e7/799fb43cabd34c9297000c5301e4e6e71.gif)
![NET Framework概述_第2頁](http://file4.renrendoc.com/view/799fb43cabd34c9297000c5301e4e6e7/799fb43cabd34c9297000c5301e4e6e72.gif)
![NET Framework概述_第3頁](http://file4.renrendoc.com/view/799fb43cabd34c9297000c5301e4e6e7/799fb43cabd34c9297000c5301e4e6e73.gif)
![NET Framework概述_第4頁](http://file4.renrendoc.com/view/799fb43cabd34c9297000c5301e4e6e7/799fb43cabd34c9297000c5301e4e6e74.gif)
![NET Framework概述_第5頁](http://file4.renrendoc.com/view/799fb43cabd34c9297000c5301e4e6e7/799fb43cabd34c9297000c5301e4e6e75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.NETFramework是一種新的計算平臺,它簡化了在高度分布式Internet環(huán)境中的應用程序開發(fā)。.NETFramework旨在實現(xiàn)下列目標:提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠程執(zhí)行的。提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。提供一個保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。使開發(fā)人員的經(jīng)驗在面對類型大不相同的應用程序(如基于Windows的應用程序和基于Web的應用程序)時保持一致。按照工業(yè)標
2、準生成所有通信,以確?;?NETFramework的代碼可與任何其他代碼集成。.NETFramework具有兩個主要組件:公共語言運行庫和.NETFramework類庫。公共語言運行庫是.NETFramework的基礎(chǔ)。您可以將運行庫看作一個在執(zhí)行時管理代碼的代理,它提供核心服務(如內(nèi)存管理、線程管理和遠程處理),而且還強制實施嚴格的類型安全以及可確保安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。.NETFramework的另一個主要組件是類庫,它是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?/p>
3、,您可以使用它開發(fā)多種應用程序,這些應用程序包括傳統(tǒng)的命令行或圖形用戶界面(GUI)應用程序,也包括基于ASP.NET所提供的最新創(chuàng)新的應用程序(如Web窗體和XMLWebservices)。.NETFramework可由非托管組件承載,這些組件將公共語言運行庫加載到它們的進程中并啟動托管代碼的執(zhí)行,從而創(chuàng)建一個可以同時利用托管和非托管功能的軟件環(huán)境。.NETFramework不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發(fā)。例如,ASP.NET承載運行庫以為托管代碼提供可伸縮的服務器端環(huán)境。ASP.NET直接使用運行庫以啟用ASP.NET應用程序和XMLWebservices(本主
4、題稍后將對這兩者進行討論)。InternetExplorer是承載運行庫(以MIME類型擴展的形式)的非托管應用程序的一個示例。使用InternetExplorer承載運行庫使您能夠在HTML文檔中嵌入托管組件或Windows窗體控件。以這種方式承載運行庫使得托管移動代碼(類似于MicrosoftActiveX控件)成為可能,但是它具有只有托管代碼才能提供的重大改進(如不完全受信任的執(zhí)行和安全的獨立文件存儲)。下面的插圖顯示公共語言運行庫和類庫與應用程序之間以及與整個系統(tǒng)之間的關(guān)系。該插圖還顯示托管代碼如何在更大的結(jié)構(gòu)內(nèi)運行。.NETFramework環(huán)境下面的章節(jié)將更加詳細地描述.NETFr
5、amework的主要組件和功能。公共語言運行庫的功能公共語言運行庫管理內(nèi)存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗證、編譯以及其他系統(tǒng)服務。這些功能是在公共語言運行庫上運行的托管代碼所固有的。至于安全性,取決于包括托管組件的來源(如Internet、企業(yè)網(wǎng)絡或本地計算機)在內(nèi)的一些因素,托管組件被賦予不同程度的信任。這意味著即使用在同一活動應用程序中,托管組件既可能能夠執(zhí)行文件訪問操作、注冊表訪問操作或其他須小心使用的功能,也可能不能夠執(zhí)行這些功能。運行庫強制實施代碼訪問安全。例如,用戶可以相信嵌入在Web頁中的可執(zhí)行文件能夠在屏幕上播放動畫或唱歌,但不能訪問他們的個人數(shù)據(jù)、文件系統(tǒng)或網(wǎng)絡。這樣,運行
6、庫的安全性功能就使通過Internet部署的合法軟件能夠具有特別豐富的功能。運行庫還通過實現(xiàn)稱為通用類型系統(tǒng)(CTS)的嚴格類型驗證和代碼驗證基礎(chǔ)結(jié)構(gòu)來加強代碼可靠性。CTS確保所有托管代碼都是可以自我描述的。各種Microsoft和第三方語言編譯器生成符合CTS的托管代碼。這意味著托管代碼可在嚴格實施類型保真和類型安全的同時使用其他托管類型和實例。此外,運行庫的托管環(huán)境還消除了許多常見的軟件問題。例如,運行庫自動處理對象布局并管理對對象的引用,在不再使用它們時將它們釋放。這種自動內(nèi)存管理解決了兩個最常見的應用程序錯誤:內(nèi)存泄漏和無效內(nèi)存引用。運行庫還提高了開發(fā)人員的工作效率。例如,程序員可以
7、用他們選擇的開發(fā)語言編寫應用程序,卻仍能充分利用其他開發(fā)人員用其他語言編寫的運行庫、類庫和組件。任何選擇以運行庫為目標的編譯器供應商都可以這樣做。以.NETFramework為目標的語言編譯器使得用該語言編寫的現(xiàn)有代碼可以使用.NETFramework的功能,這大大減輕了現(xiàn)有應用程序的遷移過程的工作負擔。盡管運行庫是為未來的軟件設計的,但是它也支持現(xiàn)在和以前的軟件。托管和非托管代碼之間的互操作性使開發(fā)人員能夠繼續(xù)使用所需的COM組件和DLL。運行庫旨在增強性能。盡管公共語言運行庫提供許多標準運行庫服務,但是它從不解釋托管代碼。一種稱為實時(JIT)編譯的功能使所有托管代碼能夠以它在其上執(zhí)行的系
8、統(tǒng)的本機語言運行。同時,內(nèi)存管理器排除了出現(xiàn)零碎內(nèi)存的可能性,并增大了內(nèi)存引用區(qū)域以進一步提高性能。最后,運行庫可由高性能的服務器端應用程序(如MicrosoftSQLServer和Internet信息服務(IIS)承載。此基礎(chǔ)結(jié)構(gòu)使您在享受支持運行庫宿主的行業(yè)最佳企業(yè)服務器的優(yōu)越性能的同時,能夠使用托管代碼編寫業(yè)務邏輯。.NETFramework類庫.NETFramework類庫是一個與公共語言運行庫緊密集成的可重用的類型集合。該類庫是面向?qū)ο蟮?,并提供您自己的托管代碼可從中導出功能的類型。這不但使.NETFramework類型易于使用,而且還減少了學習.NETFramework的新功能所需
9、要的時間。此外,第三方組件可與.NETFramework中的類無縫集成。例如,.NETFramework集合類實現(xiàn)一組可用于開發(fā)您自己的集合類的接口。您的集合類將與.NETFramework中的類無縫地混合。正如您對面向?qū)ο蟮念悗焖M哪菢樱?NETFramework類型使您能夠完成一系列常見編程任務(包括諸如字符串管理、數(shù)據(jù)收集、數(shù)據(jù)庫連接以及文件訪問等任務)。除這些常見任務之外,類庫還包括支持多種專用開發(fā)方案的類型。例如,可使用.NETFramework開發(fā)下列類型的應用程序和服務:控制臺應用程序。WindowsGUI應用程序(Windows窗體)。ASP.NET應用程序。XMLWebs
10、ervices。Windows服務。例如,Windows窗體類是一組綜合性的可重用的類型,它們大大簡化了WindowsGUI的開發(fā)。如果要編寫ASP.NETWeb窗體應用程序,可使用Web窗體類。客戶端應用程序開發(fā)客戶端應用程序在基于Windows的編程中最接近于傳統(tǒng)風格的應用程序。這些是在桌面上顯示窗口或窗體從而使用戶能夠執(zhí)行任務的應用程序類型。客戶端應用程序包括諸如字處理程序和電子表格等應用程序,還包括自定義的業(yè)務應用程序(如數(shù)據(jù)輸入工具、報告工具等等)??蛻舳藨贸绦蛲ǔJ褂么翱凇⒉藛?、按鈕和其他GUI元素,并且它們可能訪問本地資源(如文件系統(tǒng))和外圍設備(如打印機)。另一種客戶端應用程
11、序是作為Web頁通過Internet部署的傳統(tǒng)ActiveX控件(現(xiàn)在被托管Windows窗體控件所替代)。此應用程序非常類似于其他客戶端應用程序:它在本機執(zhí)行,可以訪問本地資源,并包含圖形元素。過去,開發(fā)人員將C/C+與Microsoft基礎(chǔ)類(MFC)或應用程序快速開發(fā)(RAD)環(huán)境(如MicrosoftVisualBasic)起使用來創(chuàng)建這樣的應用程序。.NETFramework將這些現(xiàn)有產(chǎn)品的特點合并到了單個且一致的開發(fā)環(huán)境中,該環(huán)境大大簡化了客戶端應用程序的開發(fā)。包含在.NETFramework中的Windows窗體類旨在用于GUI開發(fā)。您可以輕松創(chuàng)建具有適應多變的商業(yè)需求所需的靈活
12、性的命令窗口、按鈕、菜單、工具欄和其他屏幕元素。例如,.NETFramework提供簡單的屬性以調(diào)整與窗體相關(guān)聯(lián)的可視屬性。某些情況下,基礎(chǔ)操作系統(tǒng)不支持直接更改這些屬性,而在這些情況下,.NETFramework將自動重新創(chuàng)建窗體。這是.NETFramework集成開發(fā)人員接口從而使編碼更簡單更一致的許多方法之一。和ActiveX控件不同,Windows窗體控件具有對用戶計算機的不完全受信任的訪問權(quán)限。這意味著二進制代碼或在本機執(zhí)行的代碼可訪問用戶系統(tǒng)上的某些資源,例如GUI元素和訪問受限制的文件,但這些代碼不能訪問或危害其他資源。由于具有代碼訪問安全性,許多曾經(jīng)需要安裝在用戶系統(tǒng)上的應用程
13、序現(xiàn)在可以通過Web安全地部署。您的應用程序可以在像Web頁那樣部署時實現(xiàn)本地應用程序的功能。服務器應用程序開發(fā)在托管領(lǐng)域中,服務器端應用程序是通過運行庫宿主實現(xiàn)的。非托管應用程序承載公共語言運行庫,后者使您的自定義托管代碼可以控制服務器的行為。此模型在獲得主服務器的性能和可伸縮性的同時提供給您公共語言運行庫和類庫的所有功能。下面的插圖顯示在不同服務器環(huán)境中運行托管代碼的基本網(wǎng)絡架構(gòu)。在應用程序邏輯通過托管代碼執(zhí)行時,服務器(如IIS和SQLServer)可執(zhí)行標準操作。服務器端托管代碼ASP.NET是使開發(fā)人員能夠使用.NETFramework開發(fā)基于Web的應用程序的宿主環(huán)境。但是,ASP
14、.NET不止是一個運行庫宿主;它是使用托管代碼開發(fā)Web站點和通過Internet分布的對象的完整結(jié)構(gòu)。Web窗體和XMLWebservices都將IIS和ASP.NET用作應用程序的發(fā)布機制,并且兩者在.NETFramework中都具有支持類集合。XMLWebservices作為基于Web的技術(shù)的重要發(fā)展,是類似于常見Web站點的分布式服務器端應用程序組件。但是,與基于Web的應用程序不同,XMLWebservices組件不具有UI并且不以瀏覽器(如InternetExplorer和NetscapeNavigator)為目標。XMLWebservices由旨在供其他應用程序使用的可重用的軟件
15、組件組成,所謂的其他應用程序包括:傳統(tǒng)的客戶端應用程序,基于Web的應用程序,甚至是其他XMLWebservices。因此,XMLWebservices技術(shù)正迅速地將應用程序開發(fā)和部署推向高度分布式Internet環(huán)境。如果您使用過ASP技術(shù)的早期版本,很快就會注意到ASP.NET和Web窗體提供的改進。例如,您可以用支持.NETFramework的任何語言開發(fā)Web窗體頁。此外,您的代碼不再需要與HTTP文本共享同一個文件(盡管如果您愿意,代碼還可以繼續(xù)這樣做)。Web窗體頁用本機語言執(zhí)行,這是因為與所有其他托管應用程序一樣,它們充分利用運行庫。與此相對照,非托管ASP頁始終被寫成腳本并解釋
16、。ASP.NET頁比非托管ASP頁更快、更實用并且更易于開發(fā),這是因為它們像所有托管應用程序一樣與運行庫進行交互。.NETFramework還提供類和工具的集合來幫助開發(fā)和使用XMLWebservices應用程序。XMLWebservices是基于SOAP(種遠程過程調(diào)用協(xié)議)、XML(一種可擴展的數(shù)據(jù)格式)和WSDL(Web服務描述語言)這些標準生成的?;谶@些標準生成.NETFramework的目的是為了提高與非Microsoft解決方案的互操作性。例如,.NETFrameworkSDK所包含的Web服務描述語言工具可以查詢在Web上發(fā)布的XMLWebservices,分析它的WSDL描述,并產(chǎn)生C#或VisualBasic源代碼,您的應用程序可以使用這些代碼而成為XMLWebservices的客戶端。這些源代碼可以創(chuàng)建從類庫中的類派生的類,這些類使用SOAP和XML分析處理所有基礎(chǔ)通信。雖然
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024民間借貸合同范本(28篇)
- 2025年農(nóng)村子女撫養(yǎng)費用分擔協(xié)議
- 2025年供電企業(yè)與用戶用電合作協(xié)議
- 2025年共同策劃健身房合作合同書
- 企業(yè)勞動合同協(xié)議2025年
- 2025年企業(yè)員工勞動合同補充協(xié)議范本
- 2025年鋁合金預拉伸厚板和蒙皮鋁合金板項目立項申請報告模范
- 2025年高性能陶瓷復合材料項目立項申請報告模板
- 2025年企業(yè)變更代理協(xié)議
- 2025年漲緊輪項目提案報告模板
- 源代碼審計報告模板
- 施工組織設計模板
- 含碘對比劑靜脈外滲護理管理實踐指南
- 萃取技術(shù) 多級逆流萃取
- 部編版小學五年級語文教材培訓課件【部編】
- 盆景造型經(jīng)驗
- 能力不足方面存在的問題及整改措施【9篇】
- 悟真篇-薛道光注
- 重大危險源公示牌(完整)-2
- 物理學史中國古代物理學
- 初一英語英語閱讀理解專項訓練15篇
評論
0/150
提交評論