亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

解讀ASP.NET 5 & MVC6系列(1):ASP.NET 5簡介

2019-11-17 02:05:53
字體:
來源:轉載
供稿:網友

解讀asp.net 5 & MVC6系列(1):ASP.NET 5簡介

2015-05-13 09:14 by 湯姆大叔, ... 閱讀, ... 評論, 收藏, 編輯

ASP.NET 5簡介

ASP.NET 5是一個跨時代的改寫,所有的功能和模塊都進行了獨立拆分,做到了徹底解耦。為了這些改寫,微軟也是蠻 拼的,幾乎把.NET Framwrok全部改寫了一遍,形成了一個.NET Core的東西。 在.NET Core里一切都是可配置的,包括session、MVC等功能,而一切可配置的功能都是可以在Nuget上進行下載。

目前ASP.NET 5依舊兼容老的.NET Framwrok,但要在進行跨平臺的部署,還是只能使用新改版的.NET Core CLR。

目前的ASP.NET 5包括6個子項目DependencyInjection、EntityFramework、Identity、KRuntime、MVC、SignalR Server,具體每個項目的介紹如下:

  1. DependencyInjection - 基本的依賴注入管理并擁有默認實現
  2. EntityFramework - 數據訪問ORM框架
  3. Identity - 用戶認證系統
  4. KRuntime - 核心運行時、項目系統,加載器
  5. MVC - MVC框架,整合了MVC、Web API、Web Pages功能
  6. SignalR-Server - 實時交互式服務

ASP.NET 5所有子項目的開源代碼都可以在https://github.com/aspnet/上找到。

ASP.NET 版本號解釋

5

新版的ASP.NET稱為ASP.NET 5,是一個使用MVC架構開發web應用程序的框架,它還提供了開發RESTful服務的功能。另外,在下個版本里,該框架還可以使用SignalR構建實時應用程序。注意,ASP.NET 5不再包含Web Form開發框架了。

5也是.NET framework的新版本的版本號,稱之為Core50,也叫.NET Core。.NET Core是.NET的重構版本,只保留原有框架中的最小化的功能集,對于其它的特性和功能,可以通過nuget下載以插件的形式運行。這就意味著,我們可以將其用于各種云環境進行獨立部署。另外,微軟還會提供一個跨平臺的.NET Core,以便可以讓ASP.NET程序部署到Mac和Unix/Liunx服務器上。另外.NET Core框架還可以和程序一起進行打包部署,從而可以實現在同一臺服務器上使用不同版本的.NET Core。

另外,還要注意,.NET Core不包括Web Form、Windows Form、WPF、WCF、Silverlight、System.Drawing、Datatable等功能。也就是說,如果你的程序需要使用System.Drawing進行縮略圖制作的話,那就沒辦法使用了。類似的工具集只能通過Nuget包進行下載了??梢酝ㄟ^工具查找當前程序和.NET Core的兼容性工具集。

4.5.2

4.5.2是當前.NET framework全功能版的版本號。你可以使用該版本的.NET來運行ASP.NET 5,甚至是4.5.1版本,使用該版本,可以使用整個.NET體系的所有功能,只不過就不能跨平臺了。

4.6

4.6是.NET framework全功能版下一版的版本號,也是.NET Core的下一個版本號。你可以將ASP.NET 5應用程序運行在.NET 4.6上,但運行在.NET 4.6上的ASP.NET程序可能不兼容.NET Core。下一個版本的ASP.NET Web Forms也是4.6,其將包括一些增強功能,如異步模型綁定、HTTP2、并開始使用Roselyn編譯器?,F有的ASP.NET程序(Web Forms、MVC5和之前的版本、Web Pages)不需要任何修改都可以運行在.NET 4.6上。

6

ASP.NET 5中的MVC、Web API、Web Pages三個框架會合并成一個框架,統稱為MVC6。該合并工作將刪除三個框架中重復的功能,比如MVC和Web API中的兩種Controller只保留一種。但是傳統MVC的功能都會保留,比如模型綁定。不過,據說Web Pages在RTM的時候不會發布,而是會在RTM之后的第一次更新中進行發布。

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()    <h4>Create a new account.</h4>    <hr />    @Html.ValidationSummary(true, "", new { @class = "text-danger" })    <div class="form-group">        @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })        <div class="col-md-10">            @Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })        </div>    </div>

在新版MVC6中,我們可以使用Tag Helper進行定義:

<form asp-controller="Account" asp-action="Register" method="post" class="form-horizontal" role="form">    <h4>Create a new account.</h4>    <hr />    <div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>    <div class="form-group">        <label asp-for="UserName" class="col-md-2 control-label"></label>        <div class="col-md-10">            <input asp-for="UserName" class="form-control" />            <span asp-validation-for="UserName" class="text-danger"></span>        </div>    </div>

這樣的話,就極大地方便了前端開發人員了,因為可以看到正常的HTML結構了。

View Components則解決了Child Action的問題,比如很多時候,我們都是通過Html.Action來實現菜單、標簽功能。如下是一個View Component的示例:

    public class GreetingViewComponent : ViewComponent    {        public IViewComponentResult Invoke()        {            var greeting = "Good Morning!";            if (DateTime.Now.Hour > 12)            {                greeting = "Good Afternoon!";            }            if (DateTime.Now.Hour > 17)            {                greeting = "Good Evening!";            }            return View("Index", greeting);        }    }

該視圖組件(view component)也需要響應的視圖文件,示例如下:

@model string<h3>@Model</h3>

調用代碼則需要使用權限的Component.Invoke方法,示例如下:

<div>    @Component.Invoke("Greeting")</div>

另外還有一個Component.InvokeAsync方法,可以用于異步調用。關于視圖組件的詳細用法,請參考視圖組件一章。

7

7是Entity Framework的下一個版本,雖然不屬于ASP.NET 5的一部分,但有很大關系。EF7將和ASP.NET 5的RTM版本一起發布,雖然可能延期,但至少在那個時候會有一個可以在.NET Core上運行的基本ORM包,其不包括延遲加載、繼承映射、并且只適應于SQL Server。如果不在跨平臺上運行MVC6程序的話,你可以在.NET 4.5.2或4.6中繼續使用EF6,

ASP.NET5和MVC6中的10大新變化

在新版ASP.NET5和MVC6中,有很多變化,有些是徹底的變化,比如在最底層支持依賴注入技術,為了方便了解,我們這里列出了最重要的10大變化,以便進行學習,具體如下:

  1. ASP.NET 5現在已經是跨平臺了,可以在Mac和linux上運行。
  2. 不再有Web Forms框架了。
  3. 只支持C#,不在支持VB.NET了。(貌似最近又聽說最終版VB.NET又要支持了)
  4. 新的Tag語法,@Html.LabelFor或Html.TextBoxFor替換成新語法<label asp-for="Name"><input asp-for="Name" />,以便進行模型綁定。
  5. 新增視圖組件(View Component),可以將局部內容定義為一個單獨的組件進行調用,和Web Forms里的WebControl非常像。
  6. 擁抱前端技術,內置了Nodejs、NPM、Grunt、Bower技術。
  7. 模型整合,將MVC和WebAPI整合成一個框架。
  8. 支持AngularJS,幫內置了AngularJS的module、controller、directive、以及factory模板。
  9. 支持依賴注入技術,擁有原生的DI框架,并且也支持第三方容器。
  10. 支持xUnit.net,并拋棄了Visual Studio Unit Testing框架。

IDE

VS2015:VS2015就不用說了,依然高大上,目前不僅支持Nodejs、Python開發,還支持Android和iOS開發。Visual Studio Code:為了能夠在Mac或Linux操作系統上也能編寫C#程序,微軟又發布了一個 Visual Studio Code輕量級編輯器可以使用上述操作系統,依然是高大上啊,新功能和特性瞬間秒殺Sublime Text和Brackets,詳細地址請訪問:https://code.visualstudio.com/ 。

參考:http://stephenwalther.com/archive/2015/02/24/top-10-changes-in-asp-net-5-and-mvc-6

同步與推薦

本文已同步至目錄索引:解讀ASP.NET 5 & MVC6系列


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级淫片videoshd| 2019av中文字幕| 国产午夜精品免费一区二区三区| 亚洲精品国产精品国自产观看浪潮| 亚洲人成电影网站色www| 69av在线视频| 亚洲一区二区免费| 亚洲男人av在线| 久久理论片午夜琪琪电影网| 久久99精品国产99久久6尤物| 久久99国产精品自在自在app| 国产专区欧美专区| 国产日韩精品在线播放| 美女久久久久久久久久久| 欧美激情精品久久久久久变态| 国产精品扒开腿做爽爽爽的视频| 欧美黑人巨大xxx极品| 欧美精品videosex极品1| 国产亚洲一区二区精品| 欧美色播在线播放| 91九色蝌蚪国产| 欧美日韩国产色视频| 亚洲免费电影一区| 精品国产依人香蕉在线精品| 国产精品免费小视频| 国产亚洲精品久久久久久牛牛| 日韩中文第一页| 91爱爱小视频k| 中文字幕成人在线| 久久伊人精品天天| 美女精品视频一区| 自拍视频国产精品| 久久久国产精彩视频美女艺术照福利| 亚洲欧美另类在线观看| 日韩经典中文字幕| 久久69精品久久久久久久电影好| 91在线无精精品一区二区| 国产亚洲精品综合一区91| 日韩成人性视频| 国产成人综合精品| 欧美成人在线免费视频| 亚洲级视频在线观看免费1级| 日本高清久久天堂| 456亚洲影院| 国产精品久久久久久亚洲调教| 久久精品久久久久久国产 免费| 在线视频免费一区二区| 国产一区二区欧美日韩| 国产成人精品网站| 大胆人体色综合| 亚洲欧洲免费视频| 成人av.网址在线网站| 日本一区二区三区四区视频| 国产日韩欧美日韩| 国产脚交av在线一区二区| 亚洲电影免费观看高清完整版| 久久网福利资源网站| 91情侣偷在线精品国产| 国产精品国内视频| 国产精品扒开腿爽爽爽视频| 欧美电影在线观看高清| 色狠狠av一区二区三区香蕉蜜桃| 国产欧美一区二区三区久久| 国产精品羞羞答答| 尤物yw午夜国产精品视频明星| 久久精品精品电影网| 亚洲国产91色在线| 亚洲成色777777女色窝| 色偷偷91综合久久噜噜| 国产精品网站大全| 亚洲欧洲国产一区| 国产成人拍精品视频午夜网站| 日韩久久免费电影| 精品av在线播放| 国产精品亚洲网站| 欧美一级电影在线| 欧美精品一区三区| 国产成人亚洲精品| 国产美女91呻吟求| 91精品久久久久久久久中文字幕| 色综合久久88色综合天天看泰| 555www成人网| 欧美日韩国产在线播放| 欧美日韩综合视频网址| 在线播放精品一区二区三区| 最近2019中文字幕一页二页| 97国产suv精品一区二区62| 91丝袜美腿美女视频网站| www.美女亚洲精品| 久久九九亚洲综合| 国产女同一区二区| 日本午夜精品理论片a级appf发布| 亚洲电影第1页| 好吊成人免视频| 午夜精品蜜臀一区二区三区免费| 久久精品99无色码中文字幕| 国产精品丝袜久久久久久高清| 欧美日韩免费一区| 亚洲精品综合精品自拍| 国产视频福利一区| 中国china体内裑精亚洲片| 久久久久久久国产| 亚洲图片在区色| 在线日韩中文字幕| 亚洲直播在线一区| 欧美丰满少妇xxxx| 国产999在线观看| 日本成熟性欧美| 久久香蕉国产线看观看av| 欧美激情一区二区久久久| 国产脚交av在线一区二区| 91色琪琪电影亚洲精品久久| 欧美电影免费观看电视剧大全| 影音先锋欧美在线资源| 国产精品劲爆视频| 国产亚洲精品久久久久动| 欧美国产极速在线| 亚洲国产成人精品女人久久久| 欧美激情第一页xxx| 国产日韩欧美在线| 91精品国产91久久久久久| 亚洲另类xxxx| 亚洲一区二区三区成人在线视频精品| 最新69国产成人精品视频免费| 亚洲深夜福利网站| 欧美激情国产高清| www.日韩.com| 5278欧美一区二区三区| 成人精品一区二区三区电影黑人| 欧美性精品220| 亚洲人成电影在线播放| 国产精品男人的天堂| 久久久综合免费视频| 中日韩美女免费视频网址在线观看| 国产丝袜精品第一页| 最近免费中文字幕视频2019| 九九精品在线观看| 91理论片午午论夜理片久久| 日韩美女视频免费看| 欧美精品久久一区二区| 国产九九精品视频| 亚洲人成欧美中文字幕| 狠狠久久五月精品中文字幕| 日韩小视频在线观看| 亚洲成成品网站| 亚洲a成v人在线观看| 日韩亚洲精品视频| 在线播放日韩精品| 欧美激情aaaa| 成人有码在线视频| 国产精品久久久久久久久| 成人国产精品久久久久久亚洲| 国产精品一区二区女厕厕| 亚洲v日韩v综合v精品v| 久久琪琪电影院| 欧美精品在线播放| 中文字幕亚洲专区| 韩日精品中文字幕| 91久久久久久久久| 日韩69视频在线观看| 中文字幕精品一区久久久久| 久久久久久中文字幕| 成人精品一区二区三区电影黑人| 成人中心免费视频|