net core --hello world
阿新 • • 發佈:2022-05-05
一 新增HelloWorld專案
二 新增netcore依賴,在csproj檔案裡,雙擊新建的專案即可
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net5.0</TargetFramework> </PropertyGroup> <ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App"></FrameworkReference></ItemGroup> </Project>
三 修改為net core專案
class Program { static void Main(string[] args) { Host.CreateDefaultBuilder() .ConfigureWebHost(WebHostBuilder => WebHostBuilder .UseKestrel() .Configure(ApplicationBuilder=> ApplicationBuilder.Run(httpContext => httpContext.Response.WriteAsync("hello dyb") ))) .Build() .Run(); } }
- host宿主,承載服務,通過自帶的CreateDefaultBuilder()方法建立一個hostBuilder物件,最終通過Builder()方法建立Host.最終Run()啟動應用程式。
- 通過ConfigureWebHost()擴充套件方法,通過Action<IWebHostBuilder>委託物件構建asp.net core應用請求處理管道。
- 通過擴充套件方法UserKestrel(),將kestrelServer註冊為伺服器。
- 通過擴充套件方法Configure(),通過action<IApplicationBuilder>物件,所需的中介軟體註冊在IApplicationBuilder物件上。
- 上面的中間註冊是通過ApplicationBuilder物件的擴充套件方法Run(),通過Func<HttpContext,Task>實現了一個簡易的返回文字的中介軟體。