ASP.Net 5 中的新功能 :: 功能說明
已發表: 2014-11-27 ASP.NET 5.0 介紹
ASP.NET 5是從頭開始構建的,並傾向於 .NET 家族的傳統來構建現代 Web 應用程序。 ASP.Net 5.0 中新增的功能是根據客戶的請求和反饋構建的,以實現用於在本地部署或運行的應用程序的優化開發框架。 ASP.Net 由緊湊的組件組成,開銷可以忽略不計,因此開發人員可以在構建應用程序時感受到靈活性。
ASP.Net 5.0 中引入的更改正是針對創建現代 Web 應用程序。 這些變化肯定會簡化應用程序的開發過程、網絡託管和維護。 舊版應用程序無需任何修改即可在新版本的 ASP.NET 上運行。 但是,為了利用 ASP.NET 5 中的新功能,您需要將代碼移植到新框架。
ASP.NET 5 的特點
在單一編程模型中結合 MVC、Web API 和網頁
在 ASP.NET 5 中,MVC、Web API 和網頁被捆綁到一個名為 MVC 6 的框架中。這種方法消除了框架中的重複項,並使開發人員更容易構建應用程序。 因此,無需根據您是在 MVC、Web API 還是網頁上下文中編寫不同的代碼。
並排使用不同的 .NET Framework
當您的應用程序依賴於特定版本的 .NET Framework 時,您的所有應用程序都必須運行相同版本的 .NET。 如果您希望您的某些應用程序使用最新版本的 .NET,您可能會不確定您的所有舊應用程序是否可以在新版本中正常工作。
為了克服這種情況,您可以使用 ASP.NET 5 在部署包中定義依賴項,以便為每個應用指定要使用的 .NET 版本。 對於某些應用程序,您可以享受最新 .NET 版本的好處,而其他應用程序則堅持使用舊 .NET 版本。 所有這些不同版本的 .NET 都可以並行運行而不會出現任何問題。
能夠在 IIS 上自託管或託管
ASP.NET 5 提供了在 IIS 上託管應用程序或在您自己的進程中自行託管應用程序的靈活性。 當您構建面向 Core CLR 的應用程序時,您可以使用捆綁在部署包中的每個依賴項來部署它。 因此,您的應用程序及其依賴項是完全獨立的,並且獨立於 .NET 的系統安裝。 這項新功能使您可以自由地將應用程序託管在任何類型的設備或託管平台上。 您需要做的只是將您的項目部署到該主機。
檢查瀏覽器中的更改而不重新構建項目
Visual Studio 2015 為 ASP.NET 應用程序提供了輕量級的開發人員體驗。 只需對代碼進行更改、保存並刷新瀏覽器即可。 您可以在 Web 瀏覽器中查看代碼更改,而無需重新構建項目。
新的靈活和跨平台的運行時,可以在 OS X 和 Linux 上運行 Mono 運行時
以前,.NET Framework 是作為單個安裝交付的。 .NET 的每個版本都逐漸添加了功能,但從未刪除。 因此,框架的規模不斷擴大。 這種方法將確保安裝了 .NET 的 Windows 機器支持每個 .NET 應用程序,但可能每個應用程序都沒有使用所有已安裝的功能。
ASP.NET 5 為您提供了更大的靈活性,為您提供了三個運行時:
- 完整的 .NET CLR:完整的 .NET CLR 是 Visual Studio 項目的默認運行時。 它是向後兼容的最佳選擇,因為它提供了整個 API 集。
- Core CLR(雲優化運行時): Core CLR 是 ASP.NET 5 項目的純模塊化運行時。 它已被設計成組件,因此您只需要在應用程序中包含所需的功能。 Core CLR 大約是 11 MB,而不是完整的 .NET CLR 大約 200 MB。
- 跨平台 CLR:微軟將為 Linux 和 Mac OS X 發布跨平台運行時。它將使您能夠在 Mac 和 Linux 機器上開發和運行 .NET 應用程序。 在它發布之前,您可以使用 Mono CLR 進行跨平台開發。 默認情況下,Visual Studio 項目使用完整的 .NET CLR。 您可以在項目的配置屬性中指定 Core CLR。
用於最高吞吐量的模塊化 HTTP 請求管道
在 ASP.NET 5 中,引入了模塊化且快速的新 HTTP 請求管道。 使用這個新管道,您將能夠僅添加運行應用程序所需的組件。 這種方法減少了管道中的開銷,因此您將從應用程序中獲得改進的輸出。
通過 NuGet 包管理器進行依賴管理
使用 ASP.NET 5,您可以管理項目中的依賴項,無需向項目添加程序集引用。 相反,您可以通過 NuGet 包管理器添加 NuGet 包,也可以編輯列出項目中使用的 NuGet 包和版本的 JSON 文件 (project.json)。 要添加依賴項,只需在 project.json 文件中鍵入 NuGet 包的名稱和版本號。
project.json 文件僅包含直接添加到項目中的 NuGet 包。 如果添加依賴於某些其他包的 NuGet 包,則會加載這些輔助依賴項,但不會在 project.json 文件中列出。 這種方法將使 project.json 文件不那麼笨拙並且更易於管理。 您可以通過任何文本編輯器在 Project.json 文件中添加依賴項。
雲優化環境配置
基於 ASP.NET 5 構建的項目針對雲平台進行了高度優化,以實現輕鬆部署。 Visual Studio 2015 引入了新的環境配置來代替 Web.config 文件。 它可以從各種來源(例如 JSON、XML 或環境變量)請求命名值。 您可以為每個環境指定值,部署後您的應用程序只需讀取正確的值。
通過 .NET 基金會開源,並在 GitHub 中進行貢獻
GitHub 上提供了整個 ASP.NET 5 代碼。 GitHub 將用作所有開發的存儲庫,因此您可以查看進行了哪些更改以及進行更改的時間。 您可以下載代碼、構建您自己的 ASP.NET 功能自定義實現並在 GitHub 上提交更改。
舊版應用程序無後顧之憂
在早期版本的 ASP.NET 上構建的應用程序將繼續使用新的 .NET Framework。 如果您不需要 ASP.NET 5 中的新功能,則無需更新或移植這些應用程序。
結論
當然,微軟在 ASP.NET 5 中進行了一些革命性的設計級別更改,以開發現代 Web 應用程序。 ASP.NET 5 最吸引人的部分是它是完全開源的並且可以在 GitHub 上獲得。 Microsoft 在 GitHub 上開發了 ASP.NET 5,因此開發人員可以理解代碼並為其增強做出貢獻。 通過使 ASP.Net 開源,Microsoft 已邀請社區和開發人員下載代碼並構建自己的 ASP.NET 定制實現。