本教程會對基本的.Net Core 進行一個大概的且不會太深入的講解, 在您看完本系列之後, 能基本甚至熟練的使用.Net Core進行Web開發, 感受到.Net Core的魅力. 本教程知識點大體分為以下幾個階段 ASP.Net Core MVC基礎知識 SqlSugar ORM (進行資料庫交 ...
本教程會對基本的.Net Core 進行一個大概的且不會太深入的講解, 在您看完本系列之後, 能基本甚至熟練的使用.Net Core進行Web開發, 感受到.Net Core的魅力.
本教程知識點大體分為以下幾個階段
- ASP.Net Core MVC基礎知識
- Startup基本配置和理解
- Controller使用
- Razor視圖
- 傳統視圖
- Model Validation (基本用法)
- 一點點的Vue (教程使用Vue配合)
- SqlSugar ORM (進行資料庫交互)
- Entity Framework Core(基本介紹使用)
- 授權和身份驗證(MVC的, WebApi的不進行介紹)
- 安全性
- 測試 / 單元測試
- 性能基本優化
- 日誌功能
- CI/CD
- Windows部署
- Linux部署
一 : 系列教程環境介紹
1: 操作系統, Windows 10 專業版 64位 (版本號: 1809)
2: IDE使用Visual Studio 2017專業版 (版本號: 15.9.5)
3: SDK環境 .Net Core 2.2.101
4: 前端 Vue 2.X
5: 資料庫 MSSQL 2017
6: 語言使用 C# 7.3
二 : .Net Core 2.2環境安裝
進行.Net Core開發, 需要安裝.Net Core SDK, 下載地址
下載安裝完成之後在CMD裡面運行dotnet --version 查看版本號, 如圖
三: 新建一個ASP.Net Core MVC項目
打開VS2017, 新建項目, 選擇.Net Core --> ASP.NET Core Web應用程式, 如圖
取好項目名字和選擇完路徑, 點擊確定,進入下一步
選擇Core 2.2, 選擇空的模版, 這樣才能一步步理解ASP.Net Core MVC
點擊確定之後, 項目結構應該是這樣的
比較簡潔, 下麵開始介紹每個文件的作用
四: 項目文件及預設配置解析
- 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即可, 如圖
- 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自帶了, 打開即可, 如圖設置
- 然後我們在CreateDefaultBuilder方法上按F12, 即可看到源碼, 源碼如下:
- 能夠很詳細的看到, 使用了UseKestrel & UseIIS & UseIISIntegration等方法, 證明我上面的不是瞎說
好咯, 第一節都寫到這裡, 下一節講究項目配置信息和來源
如果在使用.Net Core遇到任何問題, 都加群進行討論, 群號: 1群: 225982985. 2群: 726648662. 3群: 654015377
下一篇 : ASP.Net Core 2.2 MVC入門到基本使用系列 (二)