我在通用主机构建器类 ( HostBuilder):ConfigureWebHostDefaults和ConfigureWebHost. 它们具有相同的签名并位于不同的程序集中。我ConfigureWebHostDefaults在指南中看到过,但几乎没有关于ConfigureWebHost. 它们之间有什么区别?
And*_*uin 13
通过 ASP.NET Core 源代码,ConfigureWebHostDefaults等于:
public static IHostBuilder ConfigureWebHostDefaults(this IHostBuilder builder, Action<IWebHostBuilder> configure)
{
return builder.ConfigureWebHost(webHostBuilder =>
{
WebHost.ConfigureWebDefaults(webHostBuilder);
configure(webHostBuilder);
});
}
Run Code Online (Sandbox Code Playgroud)
它只是调用ConfigureWebHost,但会增加一个步骤:ConfigureWebDefaults。
至于ConfigureWebDefaults,源代码很长,放在这里:
对于不同之处,使用以下内容ConfigureWebHostDefaults配置网络主机:
另外,官方文件提到:
ConfigureWebHostDefaults 方法从以“ASPNETCORE_”为前缀的环境变量加载主机配置。将 Kestrel 服务器设置为 Web 服务器并使用应用的托管配置提供程序对其进行配置。有关 Kestrel 服务器的默认选项,请参阅 ASP.NET Core 中的 Kestrel Web 服务器实现。添加主机过滤中间件。如果 ASPNETCORE_FORWARDEDHEADERS_ENABLED=true,则添加转发头中间件。启用 IIS 集成。有关 IIS 默认选项,请参阅使用 IIS 在 Windows 上托管 ASP.NET Core。
文档链接:https : //docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-3.0#default-builder-settings
| 归档时间: |
|
| 查看次数: |
6566 次 |
| 最近记录: |