ASP.NET MVC 框架路线图更新 【转】
【原文地址】ASP.NET MVC Framework Road-Map Update
【原文發(fā)表日期】 Tuesday, February 12, 2008 1:05 PM
去年的十二月份,作為ASP.NET 3.5 Extensions CTP版的一部分,我們發(fā)布了新ASP.NET MVC 框架的第一個(gè)預(yù)覽版。我也寫(xiě)了幾個(gè)博客帖子,對(duì)該框架到底是什么,以及你可以如何使用它,提供了更多的細(xì)節(jié):
- ASP.NET MVC 框架 簡(jiǎn)介
- ASP.NET MVC 教程 (第一部分)
- ASP.NET MVC 教程 (第二部分: URL路徑選擇)
- ASP.NET MVC 教程 (第三部分: 把ViewData從控制器傳到視圖)
- ASP.NET MVC 教程 (第四部分: 處理表單編輯和提交場(chǎng)景)
此后,我們得到了很多正面的反饋,下載量非常高,感受到了圍繞著該框架的興奮。最近大家常問(wèn)我的一個(gè)問(wèn)題是,“新的版本什么時(shí)候出來(lái),里面都有些什么?”
下面的內(nèi)容將提供幾個(gè)更新,是關(guān)于ASP.NET MVC 開(kāi)發(fā)團(tuán)隊(duì)一直在開(kāi)發(fā)的東西,以及不久就會(huì)發(fā)布的一些新特性。我在將來(lái)的另外一個(gè)帖子里將會(huì)討論ASP.NET Dynamic Data(動(dòng)態(tài)數(shù)據(jù))以及一直在穩(wěn)步前進(jìn)的ASP.NET AJAX 特性方面的工作。
所有這些特性(ASP.NET MVC, ASP.NET Dynamic Data, 以及新的ASP.NET AJAX 改進(jìn))都將在今年稍后發(fā)布,可用于VS 2008 和.NET 3.5。
即將發(fā)布的ASP.NET MVC MIX 預(yù)覽版
我們計(jì)劃在幾個(gè)星期后的MIX 08 大會(huì)上發(fā)布 ASP.NET MVC 的下一個(gè)公開(kāi)預(yù)覽版。這個(gè)版本將可以在網(wǎng)上為任何人所下載(你不需要參加MIX)。在這個(gè)版本中,我們?nèi)诤狭嗽S多早期采用者的反饋。下面是將在這下一個(gè)預(yù)覽版中出現(xiàn)的一些改進(jìn):
1)ASP.NET MVC框架可以部署在應(yīng)用的\bin目錄中,以及在部分信任權(quán)限下工作
第一個(gè)ASP.NET MVC 預(yù)覽版,為了將System.Web.Mvc.dll程序集注冊(cè)到機(jī)器的GAC(全局程序集緩存)中去,需要一個(gè)安裝程序在機(jī)器上運(yùn)行。
從即將發(fā)布的這個(gè)預(yù)覽版開(kāi)始,我們將允許應(yīng)用直接從應(yīng)用的\bin目錄中直接引用System.Web.Mvc.dll 程序集。這意味著不需要在服務(wù)器上運(yùn)行安裝程序就可以使用ASP.NET MVC 框架,你只要直接將你的應(yīng)用拷貝到遠(yuǎn)程ASP.NET 服務(wù)器上,就可以運(yùn)行(不用注冊(cè),也不需要額外的配置步驟)。
我們還在做一些工作,以允許ASP.NET MVC 框架能在“部分和中等信任權(quán)限(partial/medium trust")”的主機(jī)場(chǎng)景中運(yùn)行。這將允許你在廉價(jià)的共享主機(jī)帳號(hào)中也可使用這個(gè)框架,而不用要求主機(jī)供應(yīng)商做什么(只要將你的應(yīng)用FTP上去,它就能運(yùn)行,他們不需要安裝什么東西)。
2)顯著增強(qiáng)的路徑選擇特性和基礎(chǔ)設(shè)施
ASP.NET MVC 框架一個(gè)最強(qiáng)大的特性是它的路徑選擇引擎(我在這里討論過(guò)這些特性)。
即將發(fā)布的這個(gè)ASP.NET MVC 預(yù)覽版將包含更多的URL路徑選擇的特性和改進(jìn)。你現(xiàn)在可以使用置名的路徑(允許明確的路徑規(guī)則的引用),使用靈活的路徑通配符規(guī)則(允許自定義的基于CMS的URLs),引申和聲明自定義的路徑規(guī)則(允許象REST資源映射那樣的場(chǎng)景等等)。
在這個(gè)預(yù)覽版中,我們還將URL路徑選擇基礎(chǔ)設(shè)施與MVC框架的其他部分分開(kāi),這允許我們可將其用于ASP.NET中其他的非MVC特性中 (包括ASP.NET Dynamic Data和ASP.NET Web Forms)。
3)改進(jìn)的VS 2008工具支持
第一個(gè)ASP.NET MVC預(yù)覽版只有極小的VS 2008 支持(基本上就是簡(jiǎn)單的項(xiàng)目模板支持)。
這個(gè)即將發(fā)布的ASP.NET MVC預(yù)覽版將提供改進(jìn)的VS 2008集成支持。這包括,更好的項(xiàng)目文件模板,自動(dòng)的項(xiàng)目默認(rèn)設(shè)置等等。我們還加了內(nèi)置的“測(cè)試框架”向?qū)?#xff0c;這向?qū)⒃谀阃ㄟ^(guò) File->New Project 對(duì)話框創(chuàng)建新ASP.NET MVC項(xiàng)目時(shí)自動(dòng)運(yùn)行。這將允許你輕松地為你的ASP.NET MVC應(yīng)用命名和連接單元測(cè)試項(xiàng)目。
ASP.NET MVC測(cè)試框架向?qū)强刹灏蔚?#xff0c;允許自定義的測(cè)試項(xiàng)目模板添加到支持的測(cè)試選項(xiàng)表中去:
這允許開(kāi)發(fā)人員輕松地選擇他們最喜歡使用的任意單元測(cè)試框架(以及關(guān)聯(lián)的mocking和依賴注入選項(xiàng))。
4)Controller Action方法不再需要[ControllerAction]特性
第一個(gè)ASP.NET MVC 預(yù)覽版要求Controller類的action方法明確標(biāo)有[ControllerAction]特性,才可調(diào)用:
基于早期采用者的反饋,即將發(fā)布的ASP.NET MVC版將去掉這個(gè)要求,取而代之的是,在默認(rèn)情形下,Controller上的所有公共方法現(xiàn)在都被認(rèn)為是Action方法:
注: 你可以添加特性,以避免你的Controller的公共方法成為可調(diào)用的action方法,假如你想要/需要加一個(gè)公共的非action方法的話。
5)控制器和Action方法的新過(guò)濾特性支持
在這下一個(gè)ASP.NET MVC版本中啟用的一個(gè)新擴(kuò)展性特性是個(gè)叫做“過(guò)濾特性(Filter Attributes)”的特性。這允許你把攔截代碼注入到MVC控制器的請(qǐng)求中,這些代碼可以在Controller或它的Action方法執(zhí)行之前和之后執(zhí)行。這個(gè)行為能促成一些非常棒的封裝場(chǎng)景,在其中你可以干凈,聲明的方式來(lái)包裝和重用功能。
例如,我可以使用一個(gè) [OutputCache] 過(guò)濾特性,來(lái)每次30秒輸出緩存我的產(chǎn)品列表網(wǎng)頁(yè):
或者使用 [Authorization] 過(guò)濾特性來(lái)確保只有擁有某個(gè)特定安全角色的人才允許編輯產(chǎn)品:
這個(gè)過(guò)濾機(jī)制是可擴(kuò)展的,你可以輕松地為Controller類或者其中的Action方法創(chuàng)建你自己的自定義過(guò)濾特性。過(guò)濾器(以及使用過(guò)濾器的控制器和action方法)是可以被完全單元測(cè)試的。
6)HTML輔助方法成內(nèi)置
第一個(gè)ASP.NET MVC 預(yù)覽版只有幾個(gè)HTML UI輔助方法內(nèi)置于核心程序集中。然后我們發(fā)布了一個(gè)單獨(dú)的下載,內(nèi)含一堆可為你所用的額外的HTML輔助方法。
這個(gè)即將發(fā)布的ASP.NET MVC 預(yù)覽版現(xiàn)在內(nèi)置擁有這些HTML輔助方法(不需要單獨(dú)的下載)。下個(gè)月,我們還將開(kāi)始討論我們正在對(duì)客戶端ASP.NET AJAX庫(kù)所做的一些新的改進(jìn),以及一些能與ASP.NET MVC輕松集成的AJAX輔助方法。
7)許多重構(gòu)和設(shè)計(jì)方面的改進(jìn)
這個(gè)即將發(fā)布的ASP.NET MVC預(yù)覽版還包括幾個(gè)重構(gòu)和設(shè)計(jì)改進(jìn),以進(jìn)一步提高M(jìn)VC框架的可擴(kuò)展性和可測(cè)試性。總的來(lái)說(shuō),開(kāi)發(fā)團(tuán)隊(duì)遵循了這樣一個(gè)設(shè)計(jì)理念,針對(duì)所有特性你都有三個(gè)選項(xiàng):
例外,你現(xiàn)在可以改變視圖引擎(ViewEngine)的定位邏輯 (locator logic),而不用改變視圖引擎的執(zhí)行邏輯(反之亦然),或者可以把視圖引擎完全置換掉。Controller Factory支持也被擴(kuò)展成更便利與依賴注入框架的輕松集成。路徑規(guī)則現(xiàn)在也是完全可擴(kuò)展的,Controller也更易測(cè)試了,等等。
8)可下載的ASP.NET MVC框架源碼(可編譯和施于補(bǔ)丁)
上個(gè)月,我宣布了.NET框架源代碼可以下載和調(diào)試了。最終在發(fā)布 ASP.NET MVC 框架之后,該框架的源代碼也將以同樣的機(jī)制提供給開(kāi)發(fā)人員,就像其他的ASP.NET源代碼一樣。
從下一個(gè)預(yù)覽版開(kāi)始,我們還將把ASP.NET MVC 框架的源代碼以可編譯的VS項(xiàng)目方案的方式提供下載。這將允許你輕松地查看和調(diào)試ASP.NET MVC 框架源代碼。我們還將包括一個(gè)許可,允許你可以對(duì)ASP.NET MVC 框架的源代碼進(jìn)行補(bǔ)丁,萬(wàn)一你在使用MVC框架開(kāi)發(fā)的應(yīng)用中遇上其中的缺陷的話。
這個(gè)許可將不允許你重新發(fā)布你補(bǔ)過(guò)的ASP.NET MVC 版本(我們想避免有多個(gè)不兼容的ASP.NET MVC 版本的流傳以及相互之間的沖突)。但它會(huì)允許那些想動(dòng)手開(kāi)發(fā)ASP.NET MVC 應(yīng)用的開(kāi)發(fā)人員立刻取得進(jìn)展,而不必?fù)?dān)心為他們無(wú)法繞過(guò)的臨時(shí)的缺陷所阻礙。
結(jié)語(yǔ)
下一個(gè) ASP.NET MVC 預(yù)覽版中還包括了很多其他的變動(dòng)(包括許多輔助屬性/方法/對(duì)象)。希望上面的列表對(duì)即將出現(xiàn)的幾個(gè)較大的改進(jìn)提供了一些介紹。在MIX大會(huì)左右我會(huì)在預(yù)覽版發(fā)布后寫(xiě)帖子,提供更新的預(yù)覽版的地址。
希望本文對(duì)你有所幫助,
轉(zhuǎn)載于:https://www.cnblogs.com/cxd4321/archive/2009/09/16/1568024.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET MVC 框架路线图更新 【转】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据库导入导出总结
- 下一篇: .NET特性(Attribute)应用一