.NET,Framework,3.0框架慨述x
發(fā)布時(shí)間:2020-09-06 來源: 實(shí)習(xí)報(bào)告 點(diǎn)擊:
.NET Framework 3.0 框架慨述 marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"> 本文將簡要介紹微軟.NET 3.0,在與以前的版本進(jìn)行比較的同時(shí)著重強(qiáng)調(diào).NET 3.0的一些新特征。
在 2000 年,微軟首次發(fā)行了一個(gè)稱為.NET 1.0 的產(chǎn)品的測試版本。其時(shí).NET 1.0 作為一個(gè)類框架,回答了開發(fā)者社區(qū)特別是 Java 社區(qū),向微軟提出的問題。當(dāng)時(shí),人們認(rèn)為微軟已經(jīng)跟不上形勢甚至有些落后于時(shí)代了。結(jié)果,.NET 框架的上市使許多人為之嘆服,如今大量的開發(fā)者都在積極地涌向.NET 的懷抱。
現(xiàn)在,在幾年之后,.NET 框架的第三個(gè)版本又要出現(xiàn)在眾人面前。這個(gè)緊緊與 Windows Vista 的發(fā)行綁定到一起的發(fā)行版本將是一個(gè)相當(dāng)成熟的框架。這個(gè)新式框架的側(cè)重點(diǎn)在于,進(jìn)一步拓寬.NET 方案的應(yīng)用范圍。但是,就象其前一個(gè)版本一樣,.NET 3.0 仍然是龐大而復(fù)雜。
一、 .NET 3.0 與 與 1.x 及 及 2.0 版本的區(qū)別 版本的區(qū)別
.NET 3.0 與 1.x 和 2.0 .NET 框架存在一些不同之處。前兩個(gè)框架專注于允許眾多不同的語言與同一類庫 CLR 進(jìn)行通訊。CLR,從.NET 1.0 中開始引入并在.NET 2.0 中得到增強(qiáng),它基于一個(gè)相對簡單的概念進(jìn)行工作:通用語言運(yùn)行時(shí)刻模型能夠執(zhí)行任何運(yùn)行.NET 框架的系統(tǒng)中的代碼。這對于每一位開發(fā)人員意味著,他們不再需要不斷地再學(xué)習(xí)針對不同技術(shù)的語言。例如,一個(gè) Windows 表單應(yīng)用程序的 C#開發(fā)者可以把他的這種構(gòu)建表單的知識用來編寫 web 頁面。同樣,一個(gè)Visual Basic.NET 開發(fā)者能夠在編寫移動應(yīng)用程序與編寫 web 服務(wù)之間順利切換。由 CLR 擔(dān)當(dāng)一個(gè)"仲裁者"并實(shí)現(xiàn)相應(yīng)的通訊。
.NET 框架版本 3.0 在通用語言運(yùn)行時(shí)刻方面并沒有改進(jìn)。許多人對微軟在這方面進(jìn)行指責(zé),但是我認(rèn)為,沒有必要在每次發(fā)行中都要對 CLR 進(jìn)行改進(jìn)。這個(gè)新發(fā)行的框架的重點(diǎn)在于,拓寬這種語言的技術(shù)吸引力。
有關(guān)擴(kuò)展.NET 框架方面已經(jīng)在以前的發(fā)行版本中進(jìn)行演示了。前兩個(gè)框架發(fā)行中推出了使用 ASP.NET 構(gòu)建 web 應(yīng)用程序的新的方法。隨著 1.1 .NET 框架一同發(fā)行的移動.NET 版本使得開發(fā)人員更為容易地構(gòu)建智能手機(jī)及其它智能設(shè)備應(yīng)用程序。這些框架的設(shè)計(jì)中總是提供給開發(fā)人員極大的可擴(kuò)展性。圖 1 展示了.NET 3.0 框架的棧式結(jié)構(gòu)。
圖 1..NET 3.0 框架結(jié)構(gòu)
.NET 3.0 框架并沒有對現(xiàn)有技術(shù)作進(jìn)一步的改進(jìn),而是引入了四種基本的新技術(shù):
· Windows 描述基礎(chǔ)(WPF)
· Windows 通信基礎(chǔ)(WCF)
· Windows 工作流基礎(chǔ)(WWF)
· Windows CardSpace(WCS)
這其中的每一種技術(shù)都將成為開發(fā)者用來實(shí)施新方案的奠基石。
二、 Windows 描述基礎(chǔ) 描述基礎(chǔ)
Windows 描述基礎(chǔ)(WPF)無可爭辯地成為以上四個(gè)新式基礎(chǔ)類集中最為有名的。這主要是由于下面兩點(diǎn):
· 你最終只能看到一種 WPF 方案;
· 人們經(jīng)常把 WPF 與 Adobe 的 Flash 進(jìn)行比較。
ASP.NET 在.NET 框架的前兩個(gè)版本發(fā)行期間引起了許多開發(fā)者的重視,因?yàn)槟隳軌蚯逦亓私饽阍谑褂檬裁垂ぞ哌M(jìn)行開發(fā)。同樣,WPF 也提供了一種一致的方案來構(gòu)建編程模型,并且支持使用更為豐富的控件和設(shè)計(jì)技術(shù)來開發(fā) Windows程序。一個(gè)開發(fā)出來的 WPF 程序最終能夠被發(fā)行到桌面,Web 以及智能設(shè)備上。
WPF 的一個(gè)有趣的方面就是新式的名為 XAML 的 XML 標(biāo)準(zhǔn)編程語言,利用它能夠控制對象的布局。正是這種語言導(dǎo)致了與 Flash 之間的比較。從表面上看,二者極為相似,但是實(shí)際上 WPF 與 Flash 之間存在相當(dāng)?shù)牟煌lash 是一個(gè)成熟的、可控制的、獨(dú)立于操作系統(tǒng)的封閉式框架。而相比之下,WPF 允許你與操作系統(tǒng)及其它.NET 框架技術(shù)進(jìn)行集成。Flash 和 WPF 其實(shí)是兩種非常不同的技術(shù),二者服務(wù)于不同的市場需求但又存在一些"邊緣交叉"。
WPF 已經(jīng)提供了一些工具使你用來構(gòu)建方案。其中,微軟的 Expression 系列工具就包含了一些新的設(shè)計(jì)工具,它們允許你創(chuàng)建演示程序、網(wǎng)站以及交互式描述。
三、 Windows 通信基礎(chǔ) 通信基礎(chǔ)
Windows 通信基礎(chǔ)(WCF)的核心目的是,允許程序與同一臺計(jì)算機(jī)或網(wǎng)絡(luò)上的或跨越互聯(lián)網(wǎng)的其它程序?qū)崿F(xiàn)通訊。WCF 編程模型把 web 服務(wù),.NET 遠(yuǎn)程技術(shù),分布式事務(wù)和消息隊(duì)列統(tǒng)一到單個(gè)面向服務(wù)的編程模型中,從而實(shí)現(xiàn)真正意義上的分布式計(jì)算。
WCF 的設(shè)計(jì)在于順應(yīng)面向服務(wù)的架構(gòu)原則以支持分布式計(jì)算;在這種環(huán)境中,服務(wù)為消費(fèi)者所使用,客戶可以同時(shí)消費(fèi)多個(gè)服務(wù),并且同一個(gè)服務(wù)能夠?yàn)槎鄠(gè)客戶同時(shí)消費(fèi)。典型地,服務(wù)都會提供一個(gè) WSDL 接口,任何 WCF 客戶端都能夠使用該接口來消費(fèi)該服務(wù),而根本不用慮及該服務(wù)所宿主的平臺。WCF 實(shí)現(xiàn)了許多高級 web 服務(wù)標(biāo)準(zhǔn),例如 WS-尋址,WS-可靠性和 WS-安全性。盡管是 Web服務(wù)互操作性組織(WS-I)的成員之一,但是,問題至今還不明朗-到底微軟會全面支持多少 WS-I 規(guī)范。
四、 Windows 工作流基礎(chǔ) 工作流基礎(chǔ)
Windows 工作流基礎(chǔ)(WWF)是一種定義、執(zhí)行和管理工作流的微軟技術(shù)。工作流由一系列的活動組成;開發(fā)者能夠編寫他們自己的域特定的活動,然后把它們應(yīng)用于工作流中。.NET 框架 3.0/Windows 工作流基礎(chǔ)還提供了一組涉及若干控制
流構(gòu)建方面的通用目的的活動。
Windows 工作流基礎(chǔ)中還包括了 Visual Studio 2005 擴(kuò)展。這些擴(kuò)展包含一個(gè)允許用戶設(shè)計(jì)工作流的可視化工作流設(shè)計(jì)器,一個(gè)支持用戶調(diào)試工作流的可視化調(diào)試器,還有一個(gè)支持用戶在 Visual Studio 2005 內(nèi)編譯工作流的工程系統(tǒng)。
注意,你可以在 Windows SharePoint Server 2007 Portal 的發(fā)行中看到一個(gè)有關(guān)于 WWF 的早期的示例程序。
五、 五、 Windows CardSpace
你是誰?這是一個(gè)經(jīng)常需要解決的問題-而且也是一個(gè)令開發(fā)者每天都頭疼的問題。當(dāng)前,我們已經(jīng)擁有了例如活動目錄,通行證和 Windows 會員服務(wù)等方案;我們能夠通過這些技術(shù)并借助于用戶名和口令來標(biāo)識某個(gè)人。目前,這些方案中存在的問題在于,它們實(shí)質(zhì)上相當(dāng)松散而且安全性差。你會經(jīng)常聽到有人能夠共享用戶名和口令嗎?即使當(dāng)這種情況發(fā)生時(shí),你也根本不知道到底被認(rèn)證的人是誰。
如今,新的 Windows CardSpace 在這個(gè)問題上提供了一種新的解決方案。不同于以前在管理安全方面的嘗試,現(xiàn)在,微軟使用 CardSpace 采取了一種大膽的步驟,從而實(shí)現(xiàn)了一種幾乎是全新的嘗試-向微軟以外的安全專家咨詢:"安全究竟是什么樣的?"
回答很簡單:任何用戶都能夠創(chuàng)建并且共享他的或她的唯一的身份。Windows CardSpace 是這種新方案的微軟版本。好消息是,CardSpace 工作在與其它公司所開發(fā)的相同的原則基礎(chǔ)上。微軟可能是第一個(gè),但是許多公司也都是基于這一技術(shù)的。例如,微軟已經(jīng)發(fā)行了展示把 CardSpace 集成到一個(gè) PHP 應(yīng)用程序中的示例代碼(僅有 200 行)。
CardSpace 及相應(yīng)的新式支持技術(shù)將改變你到一個(gè)應(yīng)用程序的認(rèn)證方式,不管這個(gè)程序是基于 Web,你的手機(jī)或你的桌面程序。這一服務(wù)將會真正幫助弄清楚你是誰,而不是由你自己宣稱你是誰。在保護(hù)用戶數(shù)據(jù)的私有性方面,這的確是一個(gè)好東西。
六、 構(gòu)建.NET 3.0 解決方案 解決方案
你可能已經(jīng)預(yù)料到,構(gòu)建.NET 3.0 解決方案的主要工具就是 Visual Studio。Visual Studio 的下一個(gè)發(fā)行版本,其當(dāng)前相應(yīng)的 CTP 代碼名為"Orcas",預(yù)計(jì)將于2007 年發(fā)行。除了開發(fā)工具之外,一組新的支持 Windows 描述基礎(chǔ)的設(shè)計(jì)器工具(冠以名稱"Expression")正在發(fā)行中。
總的來看,微軟在.NET 3.0 背后儲存了"大量能量",我估計(jì)在 2007 年將會發(fā)行或宣布許多精品工具。
七、 集成 Vista 與 與 Windows XP
請牢記這一點(diǎn):.NET 框架并非操作系統(tǒng)本身。這個(gè)看上去非常明顯的結(jié)論卻隨著 Windows XP 的發(fā)行被淡忘了許多。到目前為止,Windows XP 已經(jīng)成為利用.NET 框架技術(shù)的占優(yōu)勢的桌面 OS。.NET 1.x 和 2.0 都被設(shè)計(jì)可以運(yùn)行于Windows XP 之上。一個(gè)容易被人們忽視的一點(diǎn)就是,.NET 框架并沒有被綁定到某一個(gè)操作系統(tǒng)。.NET 1.x 和 2.0 都可以運(yùn)行于 Windows 2000 和 Windows 2003/R2 之上。你所要做的就是利用該框架開發(fā)出一個(gè)能夠運(yùn)行于多個(gè)系統(tǒng)上的應(yīng)用程序。
挑戰(zhàn)在于,作為一個(gè)開發(fā)者,利用非特定于 OS 的框架類進(jìn)行開發(fā)可能是極具誘惑力的。這一點(diǎn)已經(jīng)從許多 Windows 應(yīng)用程序中得到證實(shí),這些程序宣稱支持.NET 框架但是其實(shí)卻利用了 Windows XP 特定的工具,從而使其應(yīng)用程序僅能運(yùn)行于一個(gè)操作系統(tǒng)之上。事實(shí)證明,這里所推薦的許多混合方案無法運(yùn)行于Windows 2000 操作系統(tǒng)上。
.NET 3.0 類似前一個(gè)框架的一個(gè)地方就是,它能夠運(yùn)行于多個(gè)操作系統(tǒng),例如Windows XP,Windows 2003/R2 和 Windows Vista 等之上。到目前為止,我還未曾聽到有關(guān)于針對 Windows 2000 或任何其它 Windows 操作系統(tǒng)發(fā)行.NET 3.0 的任何討論。
八、 進(jìn)一步挖掘.NET 3.0 寶藏 寶藏
就象微軟所有以前的.NET 框架發(fā)行版本一樣,當(dāng)前發(fā)行的 3.0 版本也是重量級的。因此,界時(shí)市面上將會出現(xiàn)了許多的有關(guān)于介紹每一種基礎(chǔ)的書籍,當(dāng)然還會伴隨成百上千篇的文章。這都是將來的事情。今天,有關(guān)這方面的消息仍然相當(dāng)缺乏而且難于捕捉;不過,最值得參考的幾個(gè)地方有:MSDN,Channel9.com,http://www.netfx3.com,以及針對.NET 3.0.100 的官方新聞?wù)军c(diǎn)。
Windows 描述基礎(chǔ)第一次為設(shè)計(jì)者提供了一種方案允許其直接與開發(fā)者進(jìn)行交互。如以往一樣,開發(fā)者還是首先需要進(jìn)一步學(xué)習(xí)大量的新技術(shù)。最后,.NET 3.0 提供了一組基礎(chǔ)類用于實(shí)現(xiàn)通信與工作流的集成。另外,Windows CardSpace所提供的新的認(rèn)證方案還有待于商界通過顧客敏感的數(shù)據(jù)去進(jìn)一步驗(yàn)證。
請睜大你的眼睛用你的智慧去擁抱新的.NET 3.0 吧。其中存在許多十分緊迫的技術(shù)等待你去進(jìn)行嚴(yán)肅地分析。當(dāng)然,最好的辦法還是通過試用它來更好地理解.NET 3.0 并進(jìn)而確定如何使用它來構(gòu)建更佳的方案。
熱點(diǎn)文章閱讀