為了實(shí)現這些功能,。NET 結構發(fā)表以后,微軟便逐步調整其服務(wù)器軟件的產(chǎn)品線(xiàn),將原有的Server一一的升級更新,推出了許多新的Server,并將這些Server整合于。NET Enterprise Servers產(chǎn)品線(xiàn)中。
Windows 2000 Server(包含Advanced Server和Datacenter Server)。。NET結構中,最重要的革新就屬于Web Services.Web Services構架在Web Server上,能夠通過(guò)SOAP與用戶(hù)端聯(lián)系,并幫助用戶(hù)端完成其提供的服務(wù)。在。NET Framework中,Web Services就是架構在Windows 2000 Servers中的IIS5.0上的。
Exchange 2000 Server.Exchange 不是單純的Email Server,它更是一套不折不扣的組信息平臺。 feedom.net關(guān)注網(wǎng)管是我們的使命
SQL Server 2000.SQL Server 提供完善數據處理功能。包含數據挖掘,XML的直接Internet支持。目前在Windows CE中推出了SQL Server 2000 Windows CE Edition.
Mobile Information Server 為移動(dòng)解決方案提供可靠而且具有伸縮性的平臺。 bitsCN
.NET Framework 是支持生成和運行下一代應用程序和 XML Web services 的內部 Windows 組件。.NET Framework 旨在實(shí)現下列目標:
提供一個(gè)一致的面向對象的編程環(huán)境,而無(wú)論對象代碼是在本地存儲和執行,還是在本地執行但在 Internet 上分布,或者是在遠程執行的。
提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執行環(huán)境。
提供一個(gè)可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng )建的代碼)執行安全性的代碼執行環(huán)境。
提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問(wèn)題的代碼執行環(huán)境。
使開(kāi)發(fā)人員的經(jīng)驗在面對類(lèi)型大不相同的應用程序(如基于 Windows 的應用程序和基于 Web 的應用程序)時(shí)保持一致。
按照工業(yè)標準生成所有通信,以確?;?.NET Framework 的代碼可與任何其他代碼集成。
.NET Framework 具有兩個(gè)主要組件:公共語(yǔ)言運行庫和 .NET Framework 類(lèi)庫。公共語(yǔ)言運行庫是 .NET Framework 的基礎。您可以將運行庫看作一個(gè)在執行時(shí)管理代碼的代理,它提供內存管理、線(xiàn)程管理和遠程處理等核心服務(wù),并且還強制實(shí)施嚴格的類(lèi)型安全以及可提高安全性和可靠性的其他形式的代碼準確性。事實(shí)上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱(chēng)為托管代碼,而不以運行庫為目標的代碼稱(chēng)為非托管代碼。.NET Framework 的另一個(gè)主要組件是類(lèi)庫,它是一個(gè)綜合性的面向對象的可重用類(lèi)型集合,您可以使用它開(kāi)發(fā)多種應用程序,這些應用程序包括傳統的命令行或圖形用戶(hù)界面 (GUI) 應用程序,也包括基于 ASP.NET 所提供的最新創(chuàng )新的應用程序(如 Web 窗體和 XML Web services)。
.NET Framework 可由非托管組件承載,這些組件將公共語(yǔ)言運行庫加載到它們的進(jìn)程中并啟動(dòng)托管代碼的執行,從而創(chuàng )建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.NET Framework 不但提供若干個(gè)運行庫宿主,而且還支持第三方運行庫宿主的開(kāi)發(fā)。
例如,ASP.NET 承載運行庫以為托管代碼提供可伸縮的服務(wù)器端環(huán)境。ASP.NET 直接使用運行庫以啟用 ASP.NET 應用程序和 XML Web services(本主題稍后將對這兩者進(jìn)行討論)。
Internet Explorer 是承載運行庫(以 MIME 類(lèi)型擴展的形式)的非托管應用程序的一個(gè)示例。使用 Internet Explorer 承載運行庫使您能夠在 HTML 文檔中嵌入托管組件或 Windows 窗體控件。以這種方式承載運行庫使得托管移動(dòng)代碼(類(lèi)似于 Microsoft? ActiveX? 控件)成為可能,不過(guò)它需要只有托管代碼才能提供的重大改進(jìn)(如不完全受信任的執行和獨立的文件存儲)?!?
下面的插圖顯示公共語(yǔ)言運行庫和類(lèi)庫與應用程序之間以及與整個(gè)系統之間的關(guān)系。該插圖還顯示托管代碼如何在更大的結構內運行
.NET Framework 環(huán)境
下面的章節將更加詳細地描述 .NET Framework 的主要組件和功能。
bitsCN全力打造網(wǎng)管學(xué)習平臺
公共語(yǔ)言運行庫的功能
公共語(yǔ)言運行庫管理內存、線(xiàn)程執行、代碼執行、代碼安全驗證、編譯以及其他系統服務(wù)。這些功能是在公共語(yǔ)言運行庫上運行的托管代碼所固有的。
至于安全性,取決于包括托管組件的來(lái)源(如 Internet、企業(yè)網(wǎng)絡(luò )或本地計算機)在內的一些因素,托管組件被賦予不同程度的信任。這意味著(zhù)即使用在同一活動(dòng)應用程序中,托管組件既可能能夠執行文件訪(fǎng)問(wèn)操作、注冊表訪(fǎng)問(wèn)操作或其他須小心使用的功能,也可能不能夠執行這些功能?! ?
運行庫強制實(shí)施代碼訪(fǎng)問(wèn)安全。例如,用戶(hù)可以相信嵌入在 Web 頁(yè)中的可執行文件能夠在屏幕上播放動(dòng)畫(huà)或唱歌,但不能訪(fǎng)問(wèn)他們的個(gè)人數據、文件系統或網(wǎng)絡(luò )。這樣,運行庫的安全性功能就使通過(guò) Internet 部署的合法軟件能夠具有特別豐富的功能?!?
運行庫還通過(guò)實(shí)現稱(chēng)為通用類(lèi)型系統 (CTS) 的嚴格類(lèi)型驗證和代碼驗證基礎結構來(lái)加強代碼可靠性。CTS 確保所有托管代碼都是可以自我描述的。各種 Microsoft 和第三方語(yǔ)言編譯器生成符合 CTS 的托管代碼。這意味著(zhù)托管代碼可在嚴格實(shí)施類(lèi)型保真和類(lèi)型安全的同時(shí)使用其他托管類(lèi)型和實(shí)例。
此外,運行庫的托管環(huán)境還消除了許多常見(jiàn)的軟件問(wèn)題。例如,運行庫自動(dòng)處理對象布局并管理對對象的引用,在不再使用它們時(shí)將它們釋放。這種自動(dòng)內存管理解決了兩個(gè)最常見(jiàn)的應用程序錯誤:內存泄漏和無(wú)效內存引用。
運行庫還提高了開(kāi)發(fā)人員的工作效率。例如,程序員可以用他們選擇的開(kāi)發(fā)語(yǔ)言編寫(xiě)應用程序,卻仍能充分利用其他開(kāi)發(fā)人員用其他語(yǔ)言編寫(xiě)的運行庫、類(lèi)庫和組件。任何選擇以運行庫為目標的編譯器供應商都可以這樣做。以 .NET Framework 為目標的語(yǔ)言編譯器使得用該語(yǔ)言編寫(xiě)的現有代碼可以使用 .NET Framework 的功能,這大大減輕了現有應用程序的遷移過(guò)程的工作負擔。
盡管運行庫是為未來(lái)的軟件設計的,但是它也支持現在和以前的軟件。托管和非托管代碼之間的互操作性使開(kāi)發(fā)人員能夠繼續使用所需的 COM 組件和 DLL。
運行庫旨在增強性能。盡管公共語(yǔ)言運行庫提供許多標準運行庫服務(wù),但是它從不解釋托管代碼。一種稱(chēng)為實(shí)時(shí) (JIT) 編譯的功能使所有托管代碼能夠以它在其上執行的系統的本機語(yǔ)言運行。同時(shí),內存管理器排除了出現零碎內存的可能性,并增大了內存引用區域以進(jìn)一步提高性能。
最后,運行庫可由高性能的服務(wù)器端應用程序(如 Microsoft? SQL Server? 和 Internet 信息服務(wù) (IIS))承載。此基礎結構使您在享受支持運行庫宿主的行業(yè)最佳企業(yè)服務(wù)器的優(yōu)越性能的同時(shí),能夠使用托管代碼編寫(xiě)業(yè)務(wù)邏輯。
.NET Framework 類(lèi)庫
.NET Framework 類(lèi)庫是一個(gè)與公共語(yǔ)言運行庫緊密集成的可重用的類(lèi)型集合。該類(lèi)庫是面向對象的,并提供您自己的托管代碼可從中導出功能的類(lèi)型。這不但使 .NET Framework 類(lèi)型易于使用,而且還減少了學(xué)習 .NET Framework 的新功能所需要的時(shí)間。此外,第三方組件可與 .NET Framework 中的類(lèi)無(wú)縫集成?!?
例如,.NET Framework 集合類(lèi)實(shí)現一組可用于開(kāi)發(fā)您自己的集合類(lèi)的接口。您的集合類(lèi)將與 .NET Framework 中的類(lèi)無(wú)縫地混合。
正如您對面向對象的類(lèi)庫所希望的那樣,.NET Framework 類(lèi)型使您能夠完成一系列常見(jiàn)編程任務(wù)(包括諸如字符串管理、數據收集、數據庫連接以及文件訪(fǎng)問(wèn)等任務(wù))。除這些常見(jiàn)任務(wù)之外,類(lèi)庫還包括支持多種專(zhuān)用開(kāi)發(fā)方案的類(lèi)型。例如,可使用 .NET Framework 開(kāi)發(fā)下列類(lèi)型的應用程序和服務(wù):
控制臺應用程序。
Windows GUI 應用程序(Windows 窗體)。
ASP.NET 應用程序。
XML Web services。
Windows 服務(wù)。
例如,Windows 窗體類(lèi)是一組綜合性的可重用的類(lèi)型,它們大大簡(jiǎn)化了 Windows GUI 的開(kāi)發(fā)。如果要編寫(xiě) ASP.NET Web 窗體應用程序,可使用 Web 窗體類(lèi)?! ?
客戶(hù)端應用程序開(kāi)發(fā)
客戶(hù)端應用程序在基于 Windows 的編程中最接近于傳統風(fēng)格的應用程序。這些是在桌面上顯示窗口或窗體從而使用戶(hù)能夠執行任務(wù)的應用程序類(lèi)型??蛻?hù)端應用程序包括諸如字處理程序和電子表格等應用程序,還包括自定義的業(yè)務(wù)應用程序(如數據輸入工具、報告工具等等)??蛻?hù)端應用程序通常使用窗口、菜單、按鈕和其他 GUI 元素,并且它們可能訪(fǎng)問(wèn)本地資源(如文件系統)和外圍設備(如打印機)。
另一種客戶(hù)端應用程序是作為 Web 頁(yè)通過(guò) Internet 部署的傳統 ActiveX 控件(現在被托管 Windows 窗體控件所替代)。此應用程序非常類(lèi)似于其他客戶(hù)端應用程序:它在本機執行,可以訪(fǎng)問(wèn)本地資源,并包含圖形元素?! ?
過(guò)去,開(kāi)發(fā)人員將 C/C++ 與 Microsoft 基礎類(lèi) (MFC) 或應用程序快速開(kāi)發(fā) (RAD) 環(huán)境(如 Microsoft? Visual Basic?)一起使用來(lái)創(chuàng )建這樣的應用程序。.NET Framework 將這些現有產(chǎn)品的特點(diǎn)合并到了單個(gè)且一致的開(kāi)發(fā)環(huán)境中,該環(huán)境大大簡(jiǎn)化了客戶(hù)端應用程序的開(kāi)發(fā)。
包含在 .NET Framework 中的 Windows 窗體類(lèi)旨在用于 GUI 開(kāi)發(fā)。您可以輕松創(chuàng )建具有適應多變的商業(yè)需求所需的靈活性的命令窗口、按鈕、菜單、工具欄和其他屏幕元素。
例如,.NET Framework 提供簡(jiǎn)單的屬性以調整與窗體相關(guān)聯(lián)的可視屬性。某些情況下,基礎操作系統不支持直接更改這些屬性,而在這些情況下,.NET Framework 將自動(dòng)重新創(chuàng )建窗體。這是 .NET Framework 集成開(kāi)發(fā)人員接口從而使編碼更簡(jiǎn)單更一致的許多方法之一?!?
和 ActiveX 控件不同,Windows 窗體控件具有對用戶(hù)計算機的不完全受信任的訪(fǎng)問(wèn)權限。這意味著(zhù)二進(jìn)制代碼或在本機執行的代碼可訪(fǎng)問(wèn)用戶(hù)系統上的某些資源,例如 GUI 元素和訪(fǎng)問(wèn)受限制的文件,但這些代碼不能訪(fǎng)問(wèn)或危害其他資源。由于具有代碼訪(fǎng)問(wèn)安全性,許多曾經(jīng)需要安裝在用戶(hù)系統上的應用程序現在可以通過(guò) Web 部署。您的應用程序可以在像 Web 頁(yè)那樣部署時(shí)實(shí)現本地應用程序的功能?! ?
服務(wù)器應用程序開(kāi)發(fā)
在托管領(lǐng)域中,服務(wù)器端應用程序是通過(guò)運行庫宿主實(shí)現的。非托管應用程序承載公共語(yǔ)言運行庫,后者使您的自定義托管代碼可以控制服務(wù)器的行為。此模型在獲得主服務(wù)器的性能和可伸縮性的同時(shí)提供給您公共語(yǔ)言運行庫和類(lèi)庫的所有功能。
下面的插圖顯示在不同服務(wù)器環(huán)境中運行托管代碼的基本網(wǎng)絡(luò )架構。在應用程序邏輯通過(guò)托管代碼執行時(shí),服務(wù)器(如 IIS 和 SQL Server)可執行標準操作。 需要什么來(lái)搜一搜吧so.bitsCN.com
服務(wù)器端托管代碼
ASP.NET 是使開(kāi)發(fā)人員能夠使用 .NET Framework 開(kāi)發(fā)基于 Web 的應用程序的宿主環(huán)境。
文章出處:飛諾網(wǎng)(
www.firnow.com):http://dev.firnow.com/course/3_program/cshapo/csharpjs/20100113/189490.html