ASP.NET系列的多種框架
話說2007的視頻我還沒有看多少,2008又要出來了。在每年的MIX大會上總有一些東西被微軟力推,比如06年的ASP.NET AJAX(當時還是Atlas,如果沒有記錯的話),07年的Silverlight,那么在08年的MIX大會中又會重視什么呢?Scott在這篇文章中給了我們一些選項:
◆IE 8
◆IIS 7.0
◆ASP.NET (including ASP.NET 3.5, ASP.NET AJAX, ASP.NET MVC, and ASP.NET Dynamic Data)
◆VS 2008 and Expression Studio
◆WPF
◆Silverlight 2
◆And much more....
按照過去的經(jīng)驗,我估計最受關注的應該還是ASP.NET系列的內(nèi)容。微軟的ASP.NET團隊目前手中的任務其實不少,有許許多多大大小小的框架/組件需要去開發(fā)和完善——不過只要有一個東西獲得成功并受到業(yè)界廣泛使用,那么他們的目的就達到了。微軟那么多牛人畢竟不是吃干飯的。
在ASP.NET系列中最受社區(qū)(或者還是微軟)重視的應該就是ASP.NET MVC框架了,它是ASP.NET系列內(nèi)容中唯一能夠被稱為框架的新玩意兒——ASP.NET AJAX已經(jīng)不新了。Scott也在不久前發(fā)布了有關ASP.NET MVC框架的最新消息,其主要內(nèi)容就是談到了APS.NET MVC會為幾周后的MIX08發(fā)布一個“ASP.NET MVC Framework MIX 08 Edition”——呵呵,這名字是我亂取的,其實應該叫做“ASP.NET MVC MIX Preview Release”,從文章內(nèi)容上看改動不小,而且似乎價值頗大:
1. ASP.NET MVC Framework能夠在Partial Trust級別中運行了:還記得 ASP.NET AJAX遭遇虛擬主機時的狀況嗎?ASP.NET AJAX由于必須在Full Trust級別下才能運行,所以只能讓虛擬主機服務器商在服務器上安裝ASP.NET AJAX了。ASP.NET MVC Framework能夠在Partial Trust級別中運行,這意味著我們只需要將相關dll復制到bin目錄下去即可。
2. 對于URL Routing等基礎設施有了極大的增強:文章中僅提到了能夠更好地支持RESTful的URL。我有時候在想,ASP.NET MVC的URL Routing其實體現(xiàn)的是“約定勝于配置”,如果要“強大”的功能,是不是又需要相當程度的配置了呢?由于沒有談到更詳細的內(nèi)容,我們只能拭目以待了。
3. 增強VS 2008的支持:Visual Studio其實是個平臺,擴展性極強,微軟為了吸引更多開發(fā)人員,讓自己的東西更有競爭力自然需要借助于強大工具的支持。說起來創(chuàng)建項目時的模板也已經(jīng)是一種支持了,從文章內(nèi)容看來,至少還會出現(xiàn)一個Test Project的模版,不過似乎UI簡陋了些——還好,畢竟只是個Preview。
4. 去除了ControllerAction自定義屬性:在上一個CTP中,Controller的Action需要使用 ControllerActionAttribute這個自定義屬性進行標記,而今后則不需要這個東西了。這個改變據(jù)說是因為社區(qū)的反饋,不過我倒并不介意這個。
5. Filter Attribute:新功能。自定義屬性是.NET中非常強大的一個特性,代碼實現(xiàn)可以非常漂亮。例如按照文章的說法,ASP.NET MVC將會使Controller和Action支持可擴展Filter機制,而框架本身也會通過這個機制實現(xiàn)一些常用的功能,比如文章中提到的緩存和身份驗證——不得不說,這個真的很強。
6. 內(nèi)建HTML Helpers:其實就是把原本在MVC Toolkit里的類庫集成到嫡系框架中了。當然,肯定還會增加新的Helper類和方法。
7. 大量重構和設計上的改進:這無疑會使ASP.NET MVC框架變成一個很好的學習材料——以及很多技術作家寫作的素材。剛才搜了一下有關ASP.NET 3.5的書籍,發(fā)現(xiàn)已經(jīng)有不少了,不過還缺少幾個重要的系列,例如Wrox的Professional系列和O'Reilly的Essential XXX和Programming XXX等。每項技術出現(xiàn)之后的百家爭鳴總歸是不會少的,不過那么多書總讓我無從下手,所以我現(xiàn)在一般只看MSDN和社區(qū)里的文章。
8. ASP.NET MVC框架將會公布源代碼,可供調(diào)試、編譯和修補:其實我更關心的是ASP.NET MVC的實現(xiàn),例如它是如何在Partial Trust級別下運行的。公布源代碼之后直接解決了看代碼的問題,當然調(diào)試也不在話下。至于修補,按照Scott的說法,微軟肯定不會允許第三方將 ASP.NET MVC修改后再發(fā)布,因此真正的Patch也只會由微軟進行。公布源代碼的目的是方便用戶發(fā)現(xiàn)問題之后能夠自行修補,或者有啥需要自行擴展——“悄悄的進村,打槍的不要”。 以上介紹ASP.NET系列的多個東西。
【編輯推薦】