Appearance
Console 应用到 ASP.NET Core 应用.md
引用 Microsoft.AspNetCore.App 共享框架
在 .NET Core 3.0 之前,你需要在项目中通过 <PackageReference> 来引用 Microsoft.AspNetCore.App 这样的元包。但自 .NET Core 3.0 起,Microsoft.AspNetCore.App 成为了一个共享框架,它随 .NET SDK 和运行时一同安装,包含了一组经过充分测试且相互兼容的 ASP.NET Core 程序集。
为了在项目中使用这个共享框架,引用方式从之前的 NuGet 包引用:
xml
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>变更为使用 <FrameworkReference> 元素:
xml
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>这个 <FrameworkReference> 不需要指定版本,它的版本由项目的目标框架(例如 net8.0)决定。
使用通用主机配置和运行 Web 应用
c#
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Hosting;
// 创建默认的主机构建器,包含配置、日志等默认设置
Host.CreateDefaultBuilder(args)
// 配置Web主机默认设置
.ConfigureWebHostDefaults(webHostBuilder =>
{
// 配置应用程序请求处理管道
webHostBuilder.Configure(appBuilder =>
{
// 启用路由中间件,用于将请求路由到相应的处理程序
appBuilder.UseRouting();
// 配置端点路由,定义应用程序的端点
appBuilder.UseEndpoints(endpointRouteBuilder =>
// 为根路径("/")映射一个GET请求处理程序,返回"Hello, World"
endpointRouteBuilder.MapGet("/", () => "Hello, World"));
// 以下是另一种简单的中间件配置方式(当前被注释)
// 使用Run方法注册一个终止中间件,所有请求都会返回"Hello, World!"
// appBuilder.Run(httpContext => httpContext.Response.WriteAsync("Hello, World!"));
});
})
// 构建主机实例
.Build()
// 运行主机,开始监听请求
.Run();