本篇文章為大家展示了如何理解ASP.NET 5,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),郾城企業(yè)網(wǎng)站建設(shè),郾城品牌網(wǎng)站建設(shè),網(wǎng)站定制,郾城網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,郾城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
ASP.NET 5是一個跨時代的改寫,所有的功能和模塊都進(jìn)行了獨(dú)立拆分,做到了徹底解耦。為了這些改寫,微軟也是蠻 拼的,幾乎把.NET Framwrok全部改寫了一遍,形成了一個.NET Core的東西。 在.NET Core里一切都是可配置的,包括Session、MVC等功能,而一切可配置的功能都是可以在Nuget上進(jìn)行下載。
目前ASP.NET 5依舊兼容老的.NET Framwrok,但要在進(jìn)行跨平臺的部署,還是只能使用新改版的.NET Core CLR。
目前的ASP.NET 5包括6個子項(xiàng)目DependencyInjection、EntityFramework、Identity、KRuntime、MVC、SignalR Server,具體每個項(xiàng)目的介紹如下:
DependencyInjection - 基本的依賴注入管理并擁有默認(rèn)實(shí)現(xiàn)
EntityFramework - 數(shù)據(jù)訪問ORM框架
Identity - 用戶認(rèn)證系統(tǒng)
KRuntime - 核心運(yùn)行時、項(xiàng)目系統(tǒng),加載器
MVC - MVC框架,整合了MVC、Web API、Web Pages功能
SignalR-Server - 實(shí)時交互式服務(wù)
ASP.NET 5所有子項(xiàng)目的開源代碼都可以在https://github.com/aspnet/上找到。
ASP.NET 版本號解釋
新版的ASP.NET稱為ASP.NET 5,是一個使用MVC架構(gòu)開發(fā)web應(yīng)用程序的框架,它還提供了開發(fā)RESTful服務(wù)的功能。另外,在下個版本里,該框架還可以使用SignalR構(gòu)建實(shí)時應(yīng)用程序。注意,ASP.NET 5不再包含Web Form開發(fā)框架了。
5也是.NET framework的新版本的版本號,稱之為Core50,也叫.NET Core。.NET Core是.NET的重構(gòu)版本,只保留原有框架中的最小化的功能集,對于其它的特性和功能,可以通過nuget下載以插件的形式運(yùn)行。這就意味著,我們可以將其用于各種云環(huán)境進(jìn)行獨(dú)立部署。另外,微軟還會提供一個跨平臺的.NET Core,以便可以讓ASP.NET程序部署到Mac和Unix/Liunx服務(wù)器上。另外.NET Core框架還可以和程序一起進(jìn)行打包部署,從而可以實(shí)現(xiàn)在同一臺服務(wù)器上使用不同版本的.NET Core。
另外,還要注意,.NET Core不包括Web Form、Windows Form、WPF、WCF、Silverlight、System.Drawing、Datatable等功能。也就是說,如果你的程序需要使用System.Drawing進(jìn)行縮略圖制作的話,那就沒辦法使用了。類似的工具集只能通過Nuget包進(jìn)行下載了??梢酝ㄟ^工具查找當(dāng)前程序和.NET Core的兼容性工具集。
4.5.2
4.5.2是當(dāng)前.NET framework全功能版的版本號。你可以使用該版本的.NET來運(yùn)行ASP.NET 5,甚至是4.5.1版本,使用該版本,可以使用整個.NET體系的所有功能,只不過就不能跨平臺了。
4.6
4.6是.NET framework全功能版下一版的版本號,也是.NET Core的下一個版本號。你可以將ASP.NET 5應(yīng)用程序運(yùn)行在.NET 4.6上,但運(yùn)行在.NET 4.6上的ASP.NET程序可能不兼容.NET Core。下一個版本的ASP.NET Web Forms也是4.6,其將包括一些增強(qiáng)功能,如異步模型綁定、HTTP2、并開始使用Roselyn編譯器?,F(xiàn)有的ASP.NET程序(Web Forms、MVC5和之前的版本、Web Pages)不需要任何修改都可以運(yùn)行在.NET 4.6上。
6
ASP.NET 5中的MVC、Web API、Web Pages三個框架會合并成一個框架,統(tǒng)稱為MVC6。該合并工作將刪除三個框架中重復(fù)的功能,比如MVC和Web API中的兩種Controller只保留一種。但是傳統(tǒng)MVC的功能都會保留,比如模型綁定。不過,據(jù)說Web Pages在RTM的時候不會發(fā)布,而是會在RTM之后的***次更新中進(jìn)行發(fā)布。
MVC6會引入一些新功能,最引人注目的功能就是Tag Helpers和View Components。Tag Helpers是Html Helpers的一種替換,而View Components則引入里類似Web Forms中的WebControl的概念。
比如,原來的視圖模型定義是這樣的:
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form" })) { @Html.AntiForgeryToken()Create a new account.
@Html.ValidationSummary(true, "", new { @class = "text-danger" })@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
在新版MVC6中,我們可以使用Tag Helper進(jìn)行定義: