前言:准备系统的学习一下.net core 所以购买了 蒋金楠的 ASP.NET CORE 3 书籍,为了加深印象 特此笔记,会持续更新到学习完为止
使用 命令行 dotnet new console -n helloworld或者 VS 创建 控制台程序程序
可得到如下项目:
将csproj文件编辑如下
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
</Project>
注册服务与中间件
progrom.cs 文件如下
static void Main(string[] args)
{
Host.CreateDefaultBuilder()
.ConfigureWebHost(webHostBuilder => webHostBuilder
.UseKestrel()
.Configure(app => app.Run(
context => context.Response.WriteAsync("HelloWold"))))
.Build()
.Run();
}
调用静态类型 Host的CreateDefaultBuilder方法创建了一个IHostBuilder对象,并最终Build方法构建作为服务宿主的IHost对象。当我们调用Ihost对象的Run扩展方法时,Asp.net Core 应用程序将会被启动。
在调用Build方法构建Ihost对象之前,可以调用IHostBuilder接口的ConfigureWebHost扩展方法,并利用指定的Action<IWebHostBuilder>委托对象构建ASP.Net.Core 应用的请求处理管道,具体来说,我们的IwebHostBuilder接口的UseKestrel扩展方法将KestrelServer 注册为服务器,调用Configure扩展方法注册了用来处理请求的中间件。Configure方法的输入参数时一个Action<IApplocationBuilder>对象,所需的中间件注册在IApplicatuionBuilder对象上。演示注册的唯一中间件是通过调用IApplicationBuilder接口的Run扩张方法注册的,该中间件利用指定的Fun<HttpContext,Task>对象将相应的主题内容设置为“”Hello World!
显示指定URL
Host.CreateDefaultBuilder() .ConfigureWebHost(webHostBuilder => webHostBuilder .UseKestrel() .UseUrls("http://0.0.0.0:3712;https://0.0.0.0:9527") .Configure(app => app.Run( context => context.Response.WriteAsync("HelloWold")))) .Build() .Run();
使用ConfugureWebHostDefaults方法默认设置
Host.CreateDefaultBuilder() .ConfigureWebHostDefaults(webHostBuilder => webHostBuilder .Configure(app => app.Run( context => context.Response.WriteAsync("HelloWold")))) .Build() .Run();