ASP.NET MVC 4 浮出水面

openkk 12年前發布 | 13K 次閱讀 MVC

最近,ASP.NET MVC 4的第一個beta版發布了,并且還含有“可以上線”的許可。這意味著即使最終正式版本還沒有完成,但微軟相信ASP.NET MVC 4目前已經可以在生產環境中使用了。這次的發布包含了對Razon視圖引擎的改進、對異步調用的支持,以及WebSockets等功能。

Razor視圖引擎

作為ASP.NET MVC的默認視圖引擎,Razor中增加了一些新的特性,以減少視圖模版的代碼量。以~/開頭的HTML屬性會被自動解析為應用程序的根路徑,而不再需要 使用Url.Content。另一個提升效率的特性是可空屬性(conditional attribute),例如當class="@myClass"中的myClass為null時,這個屬性將不會被渲染到頁面上。

注意:這些新增的特性也會出現在ASP.NET Web Pages 2中。

CSS與JavaScript管理

MVC 4鼓勵開發人員合并和壓縮(CSS與JavaScript)以縮短傳輸時間。開發人員不用詳細列出每一個客戶端需要的文件,只需要使用ResolveBundleUrl函數就可以將某個文件夾中的所有文件包括在內。 Jon Galloway指出,這對于更新某些程序庫—如jQuery—特別有用。

移動開發

jQuery Mobile將會被包含在標準移動模版中。這些模版被用于創建一組視圖,而這些視圖則被Display Modes(譯者注:根據用戶所使用的設備,如桌面系統或移動設備,選擇不同的視圖文件進行渲染)子系統所使用。除了默認模式和移動模式,可發人員還可以根據需要添加其他模式。一般系統會根據瀏覽器發送的user agent來決定使用那種模式,但理論上你可以獲得更大的靈活性。

Controller中的異步任務處理

在MVC 4和C# 5中使用異步模型非常簡單,難以想象還會有人繼續用阻塞的方式編寫Controller中的方法。你只需要使用“async Task<ActionResult>”代替ActionResult作為返回值就可以了。當然底層的代碼也需要支持異步調用,但基本上只需要做機械的代碼轉換,任何實習生或初級開發人員都可以處理。

異步Controller還支持cancellation token,Cancellation Token的實例由框架創建,開發人員只需在調用異步方法時,將之作為參數傳遞即可。這樣整個調用棧都可以被取消,而不是簡單的終止線程。

via InfoQ

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!