ASP.NET Core 入門教程 1、使用ASP.NET Core 構建第一個Web應用


一、前言

1、本文主要內容

  • Visual Studio Code 開發環境配置
  • 使用 ASP.NET Core 構建Web應用
  • ASP.NET Core Web 應用啟動類說明
  • ASP.NET Core Web 項目結構說明

2、本教程環境信息

軟件/環境 說明
操作系統 Windows 10
SDK 2.1.401
ASP.NET Core 2.1.3
IDE Visual Studio Code 1.27
瀏覽器 Chrome 69

3、前置知識

你可能需要的前置知識

  • VS Code + .NET Core快速開始

https://ken.io/serie/dotnet-core-quickstart

  • C#語法學習

http://www.runoob.com/csharp/csharp-tutorial.html

二、環境安裝與配置

1、SDK 下載與安裝

  • 下載

下載地址:https://www.microsoft.com/net/download

跨平台,根據自己的需求選擇即可。
這里我下載的是:SDK 2.1.401,你可以選擇2.1.x的最新版本

  • 安裝

略,一直下一步即可,沒什么需要特別注意的。
如果你真想了解,可以參考:https://ken.io/note/dotnet-core-qucikstart-helloworld-windows

2、VS Code下載&安裝

  • VS Code 下載

下載地址:https://code.visualstudio.com/download
反正VS Code跨平台,根據自己的需要選擇就可以了,

  • VS Code 安裝

略,一直下一步即可,沒什么特別注意的。
如果你用的macOS,直接拖動到應用程序目錄即可,更簡單快捷。

3、VS Code配置

  • 基礎擴展安裝
擴展 說明
C# 包括語法高亮顯示、智能感知、定義、查找所有引用等。調試支持。網絡核心(CoreCLR)。
Chinese (Simplified) 簡體中文補丁包

快捷鍵(Ctrl+Shift+X)進入擴展管理頁,直接搜索擴展名安裝即可,或者點擊左側工具欄圖標進入擴展管理頁

macOS版本快捷鍵是 Shift+Commnad+X

image

三、VS Code 開發 ASP.NET Core Web項目

1、項目創建

  • 通過命令行創建項目
#創建項目目錄 mkdir projects #進入項目目錄 cd projects #創建項目 dotnet new web -n helloweb 

2、VS Code打開項目

菜單:文件->打開,選擇項目目錄打開項目

項目打開后,VS Code會檢測到缺少兩個必須的Package:OmniSharp、.NET Core Debugger
並且會自動幫你安裝

Downloading package 'OmniSharp for Windows (.NET 4.6 / x64)' (31017 KB).................... Done! Installing package 'OmniSharp for Windows (.NET 4.6 / x64)' Downloading package '.NET Core Debugger (Windows / x64)' (41984 KB).................... Done! Installing package '.NET Core Debugger (Windows / x64)' Finished 

安裝完成后VS Code會提示:

Required assets to build and debug are missing from ‘helloweb’. Add them?

image

選擇Yes即可。

這時候,可以看一下左側資源管理器,我們可以看到.vscode目錄添加了兩個配置文件:launch.json,tasks.json。
項目的編譯和調試配置文件就已經准備好了

image

3、VS Code啟動項目

我們直接按下F5,或者菜單:調試->啟動調試啟動項目
ASP.NET Core 默認綁定是5001端口,而且ASP.NET Core 2.1之后默認綁定了HTTPS,項目啟動成功后,VS Code會幫我們打開默認瀏覽器並訪問:https://localhost:5001

因為我們並沒有配置SSL證書,所以瀏覽器會發出警告⚠️,以Chrome為例:

image

這時候,我們點擊高級,救護出現繼續訪問的入口

image

我們點擊繼續訪問,就會出現Hello World!

image

4、修改綁定協議HTTPS為HTTP

接着我們可以修改配置去掉HTTPS協議綁定
打開Properties/launchSettings.json文件

{
  "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:53122", "sslPort": 44309 } }, "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "helloweb": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } } 

iisSettings、profiles.helloweb配置節點都有啟動綁定配置,因為VS Code啟動項目默認是不通過IIS來host的,iisSettings選項我們忽略即可。

 "helloweb": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "http://localhost:5001", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } 

將applicationUrl修改為http://localhost:5001
然后重啟項目(Ctrl+Shift+F5)機會看到干凈純潔的Hello World!

image

5、項目啟動簡介

  • 應用程序入口類
public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); } 

在應用啟動的時候,會執行CreateWebHostBuilder方法,在這個方法中通過類Startup創建了默認了HostBuilder

  • 應用啟動類
public class Startup { ConfigureServices(IServiceCollection services) { } public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.Run(async (context) => { await context.Response.WriteAsync("Hello World!"); }); } } 
方法 說明
ConfigureServices 用於配置應用啟動時加載的Service
Configure 用於配置HTTP請求管道

web項目模板默認在項目啟動的時候調用IApplicationBuilder.run方法,在當前HTTP上下文(HttpContext)中輸出了Hello World!

context.Response.WriteAsync(“Hello World!”);

四、備注

1、項目結構說明

根目錄/文件 說明
.vscode目錄 VS Code項目配置目錄,相當於.vs、.idea文件夾
bin目錄 編譯輸出目錄,相當於Java項目的target目錄
obj目錄 編譯配置與中間目錄,用於存放編譯配置與編譯中間結果
Properties目錄 用於存放項目配置
wwwroot目錄 靜態文件目錄
helloweb.csproj文件 項目描述文件
Program.cs文件 應用程序入口類文件
Startup.cs文件 ASP.NET Core Web應用啟動類文件,用於項目啟動前進行相關配置

2、附錄

  • 本文代碼示例

https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-01

 


本文首發於我的獨立博客:https://ken.io/note/asp.net-core-tutorial-web-helloworld

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM