本教程會對基本的.Net Core 進行一個大概的且不會太深刻的講解, 在您看完本系列以後, 能基本甚至熟練的使用.Net Core進行Web開發, 感覺到.Net Core的魅力.html
本教程知識點大致分爲如下幾個階段前端
- Startup基本配置和理解
- Controller使用
- Razor視圖
- 傳統視圖
- Model Validation (基本用法)
- 一點點的Vue (教程使用Vue配合)
- SqlSugar ORM (進行數據庫交互)
- Entity Framework Core(基本介紹使用)
- 受權和身份驗證(MVC的, WebApi的不進行介紹)
- 安全性
- 測試 / 單元測試
- 性能基本優化
- 日誌功能
- CI/CD
- Windows部署
- Linux部署
一 : 系列教程環境介紹nginx
1: 操做系統, Windows 10 專業版 64位 (版本號: 1809)數據庫
2: IDE使用Visual Studio 2017專業版 (版本號: 15.9.5)json
3: SDK環境 .Net Core 2.2.101安全
4: 前端 Vue 2.X服務器
5: 數據庫 MSSQL 2017app
6: 語言使用 C# 7.3post
二 : .Net Core 2.2環境安裝性能
進行.Net Core開發, 須要安裝.Net Core SDK, 下載地址
下載安裝完成以後在CMD裏面運行dotnet --version 查看版本號, 如圖
![](http://static.javashuo.com/static/loading.gif)
三: 新建一個ASP.Net Core MVC項目
打開VS2017, 新建項目, 選擇.Net Core --> ASP.NET Core Web應用程序, 如圖
![](http://static.javashuo.com/static/loading.gif)
取好項目名字和選擇完路徑, 點擊肯定,進入下一步
![](http://static.javashuo.com/static/loading.gif)
選擇Core 2.2, 選擇空的模版, 這樣才能一步步理解ASP.Net Core MVC
點擊肯定以後, 項目結構應該是這樣的
![](http://static.javashuo.com/static/loading.gif)
比較簡潔, 下面開始介紹每一個文件的做用
四: 項目文件及默認配置解析
- Connected Services. 這是存放服務引用的, 好比Web Services等等, 這個項目文件夾在硬盤上其實是不存在的, 本系列教程也不會使用
- Properties. 這個項目文件夾在硬盤上是實際存在的, 裏面有個launchSettings.json文件. 對項目開發進行一些基本配置, 好比啓動方式, 當前環境等等, 後面的教程會有基本的講解
- 依賴項. 這也是個在硬盤上不存在的文件夾. 存放當前項目的引用. 和.Net Framework的引用是一個意思. 只不過.Net Core的引用都是基於Nuget管理, 不能直接添加DLL引用
- appsettings.json. 該文件是當前項目的配置信息. 等價於.Net Framework的Web.config文件, 能夠把項目一些配置信息放在這裏, 好比數據庫鏈接字符串等等
- Program.cs沒必要多說
- Startup.cs. 主要是用來控制配置服務信息, 註冊一些中間件什麼的
- Welcome.csproj. 這個文件在VS裏面是看不到的, 可是在硬盤上能看到, 若是須要在VS裏面查看, 右鍵項目, 編輯Welcome.csproj便可, 如圖
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
- TargetFramework 表示當前使用的是.Net Core2.2版本
- AspNetCoreHostingModel, 這是.Net Core 2.2新加的, 優化了IIS的性能. 取值爲InProcess表示讓當前的這個MVC Web運行於IIS進程中, 就是那個w3wp.exe這個進程. 還有一個別的選項, 叫OutOfProcess. 取值這個表示使用反向代理模式, 好比使用nginx反向代理. 使用OutOfProcess沒有InProcess性能好, 畢竟微軟自家的東西, 有針對性優化
- PackageReference表示當前引用的Nuget包, 不作過多解釋. 也能夠在依賴項中展開查看,和這裏面的名字同樣
- Program類代碼分析. 一個Main方法, 程序入口, 全部的程序都有的. 一個CreateWebHostBuilder方法, 這方法使用了WebHost類的CreateDefaultBuilder方法, 能夠理解爲建立了一個宿主, 而後再調用了IWebHostBuilder接口的擴展UseStartup方法, 傳入Startup, 進行一些配置和服務註冊
- CreateDefaultBuilder方法裏面包含了一些默認配置, 好比使用了Kestrel服務器, 集成IIS, 日誌輸出功能等等, 這是個ASP.Net Core內置的一個跨平臺託管服務器. 固然, 不少默認的配置均可以在Startup類中進行自定義配置. 能夠在源碼中查看. 怎麼查看源碼, VS2017自帶了, 打開便可, 如圖設置
![](http://static.javashuo.com/static/loading.gif)
- 而後咱們在CreateDefaultBuilder方法上按F12, 便可看到源碼, 源碼以下:
![](http://static.javashuo.com/static/loading.gif)
- 可以很詳細的看到, 使用了UseKestrel & UseIIS & UseIISIntegration等方法, 證實我上面的不是瞎說
好咯, 第一節都寫到這裏, 下一節講究項目配置信息和來源
若是在使用.Net Core遇到任何問題, 都加羣進行討論, 羣號: 1羣: 225982985. 2羣: 726648662. 3羣: 654015377
下一篇 : ASP.Net Core 2.2 MVC入門到基本使用系列 (二)