.net中WebApplication.CreateBuilder是创建一个容器吗,有什么用
时间: 2024-02-11 12:04:27 浏览: 256
`WebApplication.CreateBuilder` 方法实际上是创建一个`WebHostBuilder`实例,用于构建并配置 ASP.NET Core Web 应用程序的主机(host)。在 ASP.NET Core 应用程序中,主机是一个负责启动应用程序并托管其所有服务的进程。`WebHostBuilder`用于配置主机和应用程序服务,包括依赖注入服务集合,中间件管道等。
`WebHostBuilder`是一个通用的主机构建器,可以用于构建任何 ASP.NET Core Web 应用程序。在使用`WebApplication.CreateBuilder`方法时,我们可以使用`builder.Services`属性来配置应用程序的依赖注入服务集合。此外,我们还可以使用`builder.WebHost`属性来配置主机选项,例如Kestrel服务器、应用程序根目录、配置文件等。
以下是一个使用`WebApplication.CreateBuilder`方法的示例:
```csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddSwaggerGen();
builder.Services.AddEndpointsApiExplorer();
var app = builder.Build();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.Run();
```
在上面的示例中,我们首先使用`WebApplication.CreateBuilder`方法创建一个`WebHostBuilder`实例,并使用`builder.Services`属性配置应用程序的依赖注入服务集合。然后,我们使用`builder.Build()`方法构建应用程序的主机。在主机构建完成后,我们使用`app.UseRouting()`方法和`app.UseEndpoints()`方法配置应用程序的中间件管道。最后,我们使用`app.Run()`方法启动应用程序的主机。
因此,`WebApplication.CreateBuilder`方法的主要作用是创建一个`WebHostBuilder`实例,以便我们可以使用它来构建和配置 ASP.NET Core Web 应用程序的主机。
阅读全文