小編給大家分享一下ASP.NET Core是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
.NET Core是什么
很多朋友看到.NET Core就認(rèn)為是ASP.NET Core,其實(shí)這是有誤區(qū)的,因?yàn)?NET Core 是開(kāi)放源代碼的通用開(kāi)發(fā)平臺(tái) (是一個(gè)“平臺(tái)”),基于這個(gè)開(kāi)放平臺(tái)我們可以開(kāi)發(fā)像ASP.NET Core應(yīng)用程序, Windows 10 通用 Windows 平臺(tái) (UWP),Tizen等等,而我們系列教程就是用.NET Core開(kāi)發(fā)ASP.NET Core應(yīng)用程序。而且由 Microsoft官方團(tuán)隊(duì) 和 .NET社區(qū)成員共同在 GitHub 上進(jìn)行維護(hù)。 它跨平臺(tái)(支持 Windows、macOS 和 Linux),并且可用于生成設(shè)備、云和 IoT 應(yīng)用程序。
.NET Core 還具有以下特性:
跨平臺(tái): 可以在 Windows、macOS 和 Linux 操作系統(tǒng)上運(yùn)行。
跨體系結(jié)構(gòu)保持一致: 在多個(gè)體系結(jié)構(gòu)(包括 x64、x86 和 ARM)上以相同的行為運(yùn)行代碼。
命令行工具: 包括用于本地開(kāi)發(fā)和持續(xù)集成方案中的易于使用的命令行工具。
部署靈活: 可以包含在應(yīng)用或已安裝的并行用戶或計(jì)算機(jī)范圍中。 可搭配 Docker 容器使用。
兼容性:.NET Core 通過(guò) .NET Standard與 .NET Framework、Xamarin 和 Mono 兼容。
開(kāi)放源:.NET Core 是一個(gè)開(kāi)放源平臺(tái),使用 MIT 和 Apache 2 許可證。 .NET Core 是一個(gè) .NET Foundation 項(xiàng)目。
由 Microsoft 支持:.NET Core背后依托強(qiáng)大的Microsoft團(tuán)隊(duì) 進(jìn)行維護(hù)。
ASP.NET Core 是一個(gè)由微軟創(chuàng)建的,用于構(gòu)建 web 應(yīng)用、API、微服務(wù) 的 web 框架。它使用常見(jiàn)的模式,諸如 MVC(Model-View-Controller)、依賴注入,和一個(gè)由中間件構(gòu)成的請(qǐng)求處理管道。它基于 Apache 2.0 許可證開(kāi)放源碼,就是說(shuō),源代碼可以自由獲取,并且歡迎社區(qū)成員以 缺陷修復(fù) 和 新功能提交 的方式進(jìn)行貢獻(xiàn)。
ASP.NET Core 運(yùn)行在微軟的 .NET 運(yùn)行時(shí)庫(kù)上,類似于 Java 的 虛擬機(jī)(JVM)或者 Ruby 的解釋器。有幾種語(yǔ)言(C#,Visual Basic,F(xiàn)#)可以用來(lái)編寫 ASP.NET Core 程序。C# 是最常見(jiàn)的選擇,當(dāng)然我大多數(shù)人都是采用C#來(lái)進(jìn)行開(kāi)發(fā)的。你可以在 Windows、Mac,和 Linux 上構(gòu)建并運(yùn)行 ASP.NET Core 應(yīng)用。
現(xiàn)存的 web 框架選項(xiàng)已經(jīng)很多了:Node/Express、Spring、Ruby on Rails、Django、Laravel 等等,數(shù)不勝數(shù)。ASP.NET Core 又有什么可取之處呢?為什么要用ASP.NET Core開(kāi)發(fā)應(yīng)用程序呢?
速度 ASP.NET Core 很快。因?yàn)?.NET Core 是編譯運(yùn)行的,執(zhí)行速度遠(yuǎn)高于解釋執(zhí)行的語(yǔ)言,比如 JavaScript 或者 Ruby、ASP.NET Core 也已經(jīng)為多線程和異步任務(wù)作了專門的優(yōu)化。與使用 Node.js 寫的代碼相比,執(zhí)行速度高出 5-10 倍是很正常的。
生態(tài) ASP.NET Core 可能初出茅廬,但 .NET 卻已久經(jīng)考驗(yàn)。在 NuGet(.NET 的包管理系統(tǒng),類似 npm、Ruby gems,或者 Maven)上有成千上萬(wàn)的軟件包。有現(xiàn)成的包可用來(lái)完成 JSON 反序列化、數(shù)據(jù)庫(kù)連接、PDF生成,或者幾乎你能想到的任何需求。
安全性 微軟的開(kāi)團(tuán)隊(duì)很注重安全性,ASP.NET Core 從創(chuàng)建基礎(chǔ)就是安全的。它已經(jīng)自動(dòng)處理了 凈化輸入數(shù)據(jù) 和 跨域偽造請(qǐng)求(CSRF),你就不用操心這些了。你同時(shí)還享有 .NET 編譯器的靜態(tài)類型檢測(cè)的優(yōu)勢(shì),它像個(gè)時(shí)刻警惕著,還有些強(qiáng)迫癥的審校者。這樣,在使用一個(gè)變量或者某些數(shù)據(jù)時(shí),那些無(wú)意識(shí)的錯(cuò)誤就插翅難逃。
跨平臺(tái) 可以運(yùn)行在安裝了 .NET 運(yùn)行時(shí)庫(kù)的 Windows、Mac或者Linux上。
開(kāi)源 .NET Core 屬于開(kāi)放源(MIT 許可證),由 Microsoft 于 2014 年提供給 .NET Foundation。 現(xiàn)在它是最活躍的 .NET Foundation 項(xiàng)目之一。 可由個(gè)人和企業(yè)自由采用,包括用于個(gè)人、學(xué)術(shù)或商業(yè)目的。 同時(shí)開(kāi)源也就意味著在你出現(xiàn)問(wèn)題的時(shí)候你可以閱讀其源代碼來(lái)獲取解決問(wèn)題的方法,再者你也可以在Gayhub上提Issue
數(shù)百萬(wàn)開(kāi)發(fā)人員使用過(guò)(并將繼續(xù)使用)ASP.NET 4.x創(chuàng)建 Web 應(yīng)用。 ASP.NET Core 是重新設(shè)計(jì)的 ASP.NET 4.x,更改了體系結(jié)構(gòu),形成了更精簡(jiǎn)的模塊化框架。
ASP.NET Core 同時(shí)具有如下優(yōu)點(diǎn):
生成 Web UI 和 Web API 的統(tǒng)一場(chǎng)景。
針對(duì)可測(cè)試性進(jìn)行構(gòu)建。
Razor Pages可以使基于頁(yè)面的編碼方式更簡(jiǎn)單高效。
能夠在 Windows、macOS 和 Linux 上進(jìn)行開(kāi)發(fā)和運(yùn)行。
開(kāi)放源代碼和以社區(qū)為中心。
集成新式客戶端框架和開(kāi)發(fā)工作流。
基于環(huán)境的云就緒配置系統(tǒng)。
內(nèi)置依賴項(xiàng)注入。
輕型的高性能模塊化 HTTP 請(qǐng)求管道。
能夠在 IIS、Nginx、Apache、Docker上進(jìn)行托管或在自己的進(jìn)程中進(jìn)行自托管。
基于 .NET Core運(yùn)行時(shí),可以使用并行應(yīng)用版本控制。
在繼續(xù)進(jìn)行ASP.NET Core代碼的編寫前,我們需要安裝 .NET Core的運(yùn)行環(huán)境。這部分我們就一步一步的進(jìn)行 .NET Core的環(huán)境搭建吧。
1.首先你可以Google搜索一下.NET Core,如果沒(méi)錯(cuò)的話第一個(gè)就是微軟的官方下載地址,當(dāng)然你可以點(diǎn)擊這里進(jìn)行下載 (目前sdk新的是v2.1.500,runtime新的版本是v2.1.6 )進(jìn)行開(kāi)發(fā)的話下載SDK即可。
2.雙擊你下載好的sdk然后傻瓜式的一步一步的進(jìn)行安裝即可,微軟的軟件的安裝太簡(jiǎn)單的,以至于我如果再細(xì)說(shuō)你們都會(huì)嫌我啰嗦了。所以,這里我只貼一張安裝成功的圖吧。
3.接下來(lái)按住Shift+鼠標(biāo)右鍵
,然后選擇“在此處打開(kāi)Powershell窗口”或者“在此處打開(kāi)命令行窗口”。然后輸入dotnet --info
查看下我們已經(jīng)安裝的.NET Core 的信息,當(dāng)前運(yùn)行的環(huán)境,已經(jīng)以往安裝的版本信息,我的版本比較多,因?yàn)槲矣昧撕荛L(zhǎng)時(shí)間了。如果你第一次安裝可能只有一個(gè)。出現(xiàn)下面第二張圖的界面也就說(shuō)明我們的.net core開(kāi)發(fā)環(huán)境已經(jīng)就緒了!下面就讓我們擼起袖子開(kāi)始干吧。
這里為了照顧到更多的小伙伴,我就不實(shí)用CLI命令行來(lái)創(chuàng)建ASP.NET Core項(xiàng)目了,還是中規(guī)中矩的使用VS2017吧!什么vs2017需要激活碼?那你可以使用社區(qū)版的??!社區(qū)版的話,學(xué)習(xí)已經(jīng)夠用了!廢話說(shuō)了一堆,我們開(kāi)始吧!
1.首先第一步肯定是打開(kāi)你的VS2017了,然后點(diǎn)擊左上角“文件”-》“新建”-》“項(xiàng)目”(或者你嫌麻煩,可以使用Ctrl+Shift+N
這個(gè)快捷鍵),打開(kāi)如下的創(chuàng)建新項(xiàng)目對(duì)話框,然后按照如圖所示進(jìn)行選擇并點(diǎn)擊確定吧(什么?你居然沒(méi)創(chuàng)建成功?那么我覺(jué)得你是在侮辱我了):
2.哈哈,上圖點(diǎn)擊確定后并沒(méi)有創(chuàng)建成功,而是會(huì)彈出下一個(gè)對(duì)話框,如下所示,他會(huì)讓你選擇目標(biāo)框架是.NET Core還是.NET Framework;是選擇創(chuàng)建一個(gè)空的解決方案還是創(chuàng)建一個(gè)帶有模板的web項(xiàng)目!至于各自的區(qū)別,有興趣的朋友可以每個(gè)都創(chuàng)建一下然后對(duì)比下各自的區(qū)別哦!這里我們按照下圖所示選擇MVC的web應(yīng)用程序:
3.創(chuàng)建成功后,看到如下的結(jié)構(gòu),標(biāo)準(zhǔn)的MVC結(jié)構(gòu),不過(guò)跟.net framework時(shí)代的MVC又有所不同。wwwroot:網(wǎng)站的靜態(tài)文件目錄(為什么在這里就能加載呢?大家可以先思考下)
appsettings.json:配置文件,比如數(shù)據(jù)庫(kù)連接字符串等等配置信息。
Program.cs:程序入口文件(里面有個(gè)Main方法);
Startup.cs啟動(dòng)配置文件 ;
依賴項(xiàng):管理項(xiàng)目所依賴的第三方組件的安裝,配置,升級(jí)
Controller:控制器
Models:實(shí)體
Views:視圖
由于篇幅有限,就不過(guò)多的講解了。
4.按下鍵盤的F5或者如下圖所示點(diǎn)擊運(yùn)行按鈕,看下效果吧!
5.如果不出意外的話你將看到如下圖所示的界面。
6.看到?jīng)]有,就這么簡(jiǎn)單我們就運(yùn)行起來(lái)了一個(gè)ASP.NET Core的MVC站點(diǎn)。到這里是不是就已經(jīng)結(jié)束了呢?騷年你想多了,因?yàn)槲疫€要讓你多會(huì)點(diǎn)東西。,所以這個(gè)第六條就是用來(lái)說(shuō)廢話的,然后作為一個(gè)分割。
7.Models:在Models文件夾上右鍵新建兩個(gè)類:一個(gè)Content類;一個(gè)ContentViewModel類 ,代碼如下(這里就不教你怎么創(chuàng)建類了,如果跟你說(shuō)了,那就是在侮辱你的智商了):
namespace Sample01.Models { /// <summary> /// 2018.11.19 /// 祝雷 /// 內(nèi)容實(shí)體 /// </summary> public class Content { /// <summary> /// 主鍵 /// </summary> public int Id { get; set; } /// <summary> /// 標(biāo)題 /// </summary> public string title { get; set; } /// <summary> /// 內(nèi)容 /// </summary> public string content { get; set; } /// <summary> /// 狀態(tài) 1正常 0刪除 /// </summary> public int status { get; set; } /// <summary> /// 創(chuàng)建時(shí)間 /// </summary> public DateTime add_time { get; set; } /// <summary> /// 修改時(shí)間 /// </summary> public DateTime modify_time { get; set; } } }
namespace Sample01.Models { /// <summary> /// 2018.11.19 /// 祝雷 /// Content視圖模式 /// </summary> public class ContentViewModel { /// <summary> /// 內(nèi)容列表 /// </summary> public List<Content> Contents { get; set; } } }
8.Controller:模型建好了,那么我們就新建一個(gè)控制器,然后再創(chuàng)建一些模擬的數(shù)據(jù)吧,代碼如下:
namespace Sample01.Controllers { /// <summary> /// 2018.11.19 /// 祝雷 /// Content控制器 /// </summary> public class ContentController : Controller { /// <summary> /// 首頁(yè)顯示 /// </summary> /// <returns></returns> public IActionResult Index() { var contents = new List<Content>(); for (int i = 1; i < 11; i++) { contents.Add(new Content { Id=i,title=$"{i}的標(biāo)題",content= $"{i}的內(nèi)容",status=1, add_time=DateTime.Now.AddDays(-i)}); } return View(new ContentViewModel { Contents=contents}); } } }
9.Views:模型跟控制器都建好了,那我們就建一個(gè)視圖來(lái)顯示我們創(chuàng)建的數(shù)據(jù)吧!我們可以有很多種方式創(chuàng)建這個(gè)視圖,這里給你介紹一種傻瓜式的,把鼠標(biāo)放在Index大括號(hào)里面,然后鼠標(biāo)右鍵選擇創(chuàng)建視圖,如下所示即可創(chuàng)建視圖文件,位置在/Views/Content/Index.cshtml文件:
10.我們按照如下的代碼稍微改造下這個(gè)View:
@model ContentViewModel @using Humanizer; @{ ViewData["Title"] = "內(nèi)容列表"; } <div class="panel panel-default todo-panel"> <div class="panel-heading">@ViewData["Title"]</div> <table class="table table-hover"> <thead> <tr> <td> <input type="checkbox" class="done-checkbox"></td> <td>序號(hào)</td> <td>標(biāo)題</td> <td>內(nèi)容</td> <td>添加時(shí)間</td> </tr> </thead> @foreach (var item in Model.Contents) { <tr> <td> <input type="checkbox" class="done-checkbox"> </td> <td>@item.Id</td> <td>@item.title</td> <td>@item.content</td> <td>@item.add_time.Humanize()</td> </tr> } </table> </div>
11.然后修改下布局文件,位于Views/Shared/_Layout.cshtml
的布局文件里面存放著所有視圖的“基礎(chǔ)”HTML。其中就包括導(dǎo)航欄,它被顯示在每個(gè)頁(yè)面的頂端。為了向?qū)Ш綑谔砑有聴l目,我們需要再這個(gè)文件中增加我們的Content欄目,代碼如下:
<li><a asp-area="" asp-controller="Content" asp-action="Index">Content</a></li>
12.到這里代碼基本完成,按下你的F5鍵,然后導(dǎo)航到Content看下效果吧:
以上是“ASP.NET Core是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:ASP.NETCore是什么-創(chuàng)新互聯(lián)
文章分享:http://www.sd-ha.com/article26/hoocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容