ASP.Net Core 2.2 MVC入門到基本使用系列 (一)

来源:https://www.cnblogs.com/klwen/archive/2019/01/18/10288691.html
-Advertisement-
Play Games

本教程會對基本的.Net Core 進行一個大概的且不會太深入的講解, 在您看完本系列之後, 能基本甚至熟練的使用.Net Core進行Web開發, 感受到.Net Core的魅力. 本教程知識點大體分為以下幾個階段 ASP.Net Core MVC基礎知識 SqlSugar ORM (進行資料庫交 ...


本教程會對基本的.Net Core 進行一個大概的且不會太深入的講解, 在您看完本系列之後, 能基本甚至熟練的使用.Net Core進行Web開發, 感受到.Net Core的魅力.

本教程知識點大體分為以下幾個階段

  • ASP.Net Core MVC基礎知識
  1. Startup基本配置和理解
  2. Controller使用
  3. Razor視圖
  4. 傳統視圖
  5. Model Validation (基本用法)
  6. 一點點的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

  點擊確定之後, 項目結構應該是這樣的

  

  比較簡潔, 下麵開始介紹每個文件的作用

四: 項目文件及預設配置解析

  1. Connected Services. 這是存放服務引用的, 比如Web Services等等, 這個項目文件夾在硬碟上實際上是不存在的, 本系列教程也不會使用
  2. Properties. 這個項目文件夾在硬碟上是實際存在的, 裡面有個launchSettings.json文件. 對項目開發進行一些基本配置, 比如啟動方式, 當前環境等等, 後面的教程會有基本的講解
  3. 依賴項. 這也是個在硬碟上不存在的文件夾. 存放當前項目的引用. 和.Net Framework的引用是一個意思. 只不過.Net Core的引用都是基於Nuget管理, 不能直接添加DLL引用
  4. appsettings.json. 該文件是當前項目的配置信息. 等價於.Net Framework的Web.config文件, 可以把項目一些配置信息放在這裡, 比如資料庫連接字元串等等
  5. Program.cs不必多說
  6. Startup.cs. 主要是用來控制配置服務信息, 註冊一些中間件什麼的
  7. Welcome.csproj. 這個文件在VS裡面是看不到的, 但是在硬碟上能看到, 如果需要在VS裡面查看, 右鍵項目, 編輯Welcome.csproj即可, 如圖
  8. TargetFramework  表示當前使用的是.Net Core2.2版本
  9. AspNetCoreHostingModel, 這是.Net Core 2.2新加的, 優化了IIS的性能. 取值為InProcess表示讓當前的這個MVC Web運行於IIS進程中, 就是那個w3wp.exe這個進程. 還有一個別的選項, 叫OutOfProcess. 取值這個表示使用反向代理模式, 比如使用nginx反向代理. 使用OutOfProcess沒有InProcess性能好, 畢竟微軟自家的東西, 有針對性優化
  10. PackageReference表示當前引用的Nuget包, 不做過多解釋. 也可以在依賴項中展開查看,和這裡面的名字一樣
  11. Program類代碼分析. 一個Main方法, 程式入口, 所有的程式都有的. 一個CreateWebHostBuilder方法, 這方法使用了WebHost類的CreateDefaultBuilder方法, 可以理解為創建了一個宿主, 然後再調用了IWebHostBuilder介面的擴展UseStartup方法, 傳入Startup, 進行一些配置和服務註冊
  12. CreateDefaultBuilder方法裡面包含了一些預設配置, 比如使用了Kestrel伺服器, 集成IIS, 日誌輸出功能等等, 這是個ASP.Net Core內置的一個跨平臺托管伺服器. 當然, 很多預設的配置都可以在Startup類中進行自定義配置. 可以在源碼中查看. 怎麼查看源碼, VS2017自帶了, 打開即可, 如圖設置
  13. 然後我們在CreateDefaultBuilder方法上按F12, 即可看到源碼, 源碼如下: 
  14. 能夠很詳細的看到, 使用了UseKestrel & UseIIS & UseIISIntegration等方法, 證明我上面的不是瞎說

好咯, 第一節都寫到這裡, 下一節講究項目配置信息和來源

如果在使用.Net Core遇到任何問題, 都加群進行討論, 群號: 1群: 225982985. 2群: 726648662. 3群: 654015377

下一篇 : ASP.Net Core 2.2 MVC入門到基本使用系列 (二)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、什麼是字典 字典是一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值對(key->value)用冒號“:”分割,每個鍵值對之間用逗號“,”分割,整個字典包括在花括弧“{}”中 註意:鍵必須使用不可變類型即整形、字元串、元組 二、字典的基本操作 1.增加 >>> {'name': 'tom', ...
  • 第一步:下載安裝包 訪問https://redis.io/download 到官網進行下載。這裡下載最新的4.0版本. 第二步:安裝 1.通過遠程管理工具,將壓縮包拷貝到Linux伺服器中,執行解壓操作 tar -zxf redis-4.0.9.tar.gz 2.進入解壓文件目錄使用make對解壓的 ...
  • 原文 : " A Visual Studio to Visual Studio Code Snippet Converter" 作者 : "Rick Strahl" 譯者 : "張蘅水" 導語 和原文作者一樣,水弟我現在也是使用 VS Code 和 Rider 作為主力開發工具,尤其是 VS Cod ...
  • 首先需要屬性欄中設置這一列可以合併,再在CellMerge方法中寫 目的是根據三級標題這一列如果有連續相同的數據,就合併題目列、分值列,並且把合併的那幾行內容都顯示出來而不是只顯示合併的第一行。 cellmerge函數中if(valueFirstColumn1 == valueFirstColumn ...
  • 本教程會對基本的.Net Core 進行一個大概的且不會太深入的講解, 在您看完本系列之後, 能基本甚至熟練的使用.Net Core進行Web開發, 感受到.Net Core的魅力. 本教程知識點大體分為以下幾個階段 ASP.Net Core MVC基礎知識 SqlSugar ORM (進行資料庫交 ...
  • --創建存儲過程create proc usp_userInfo@pageSize int=7,--每頁顯示條數@pageIndex int=1,--每頁顯示頁數@pageCount int output ,--顯示總的條數@recodNumber int output--顯示總的頁數asbegin ...
  • 很多小伙伴都用過Lambda表達式和linq表達式,用起來也得心應手,但是有的小伙伴 對匿名對象的查詢與接收比較迷茫,(沒有定義相應的實體),怎麼在where()裡面進行 條件篩選呢?常規用法我就不說了,我們來說一下匿名對象怎麼操作。 我們先看一下Lambda表達式的形式: 然後用過Dictiona ...
  • demo地址:https://github.com/PuzzledAlien/log4net_demo/tree/master/DotNetCoreConsole_V3 Windows 10 安裝部署 ElasticSearch 請參考上一篇文章 "Windows 10 安裝 ElasticSear ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...