Host.CreateDefaultBuilder(args)和Host.CreateApplicationBuilder(args)有什么区别

玩家 一号 20 信誉分
2024-07-05T07:59:13.5733333+00:00

Host.CreateDefaultBuilder(args)和Host.CreateApplicationBuilder(args)有什么区别

.NET
.NET
基于 .NET 软件框架的 Microsoft 技术。
63 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 46,466 信誉分 Microsoft 供应商
    2024-07-05T08:49:02.58+00:00

    Host.CreateDefaultBuilder(args)Host.CreateApplicationBuilder(args) 是 .NET 中用于创建和配置主机(Host)的两个方法.

    Host.CreateDefaultBuilder(args)

    • 用途: 这是 .NET Generic Host 的标准配置方法,适用于任何类型的应用程序,包括控制台应用、Windows 服务、后台任务等。
    • 配置:
      • 加载环境变量。
      • 加载命令行参数。
      • 加载 appsettings.jsonappsettings.{Environment}.json 配置文件。
      • 使用默认的日志记录设置。
      • 配置依赖注入容器。
    • 扩展性: 通过 ConfigureServicesConfigureLogging 等方法可以进一步自定义。
    • 使用场景: 适用于需要通用主机配置的应用,如后台服务、控制台应用等。

    Host.CreateApplicationBuilder(args)

    • 用途: 这是 ASP.NET Core 特定的配置方法,主要用于创建和配置 Web 应用程序的主机。
    • 配置:
      • 默认配置与 Host.CreateDefaultBuilder(args) 类似,但进一步优化了 Web 应用相关的设置。
      • 自动配置 Kestrel 服务器。
      • 配置 IWebHostEnvironmentIWebHostBuilder
    • 扩展性: 提供了更专门化的 Web 应用配置选项,可以通过 ConfigureWebHostDefaults 等方法进一步自定义。
    • 使用场景: 适用于 ASP.NET Core Web 应用程序。

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

1 个其他答案

排序依据: 非常有帮助
  1. jiancong chen 40 信誉分
    2024-07-22T03:36:26.8766667+00:00

    Host.CreateDefaultBuilder(args)Host.CreateApplicationBuilder(args) 是用于创建不同类型的主机的方法。

    Host.CreateDefaultBuilder(args) 用于创建泛型主机(Generic Host)。

    泛型主机是一个通用的主机,用于承载各种类型的应用程序,包括控制台应用程序、Windows 服务、Web API 等。它是在 .NET Core 2.1 引入的,通过 Microsoft.Extensions.Hosting 包提供。

    Host.CreateDefaultBuilder(args) 方法会创建一个泛型主机构建器(IHostBuilder),并配置一些常见的默认设置,例如读取配置、设置日志、配置服务等。你可以在此基础上进行自定义配置。

    示例代码:

    csharp

    复制

    using Microsoft.Extensions.Hosting;
    

    Host.CreateApplicationBuilder(args) 用于创建 ASP.NET Core Web 主机的应用程序构建器(IApplicationBuilder)。

    ASP.NET Core Web 主机用于承载 Web 应用程序,并处理 HTTP 请求。它是在 Microsoft.AspNetCore.Hosting 包中定义的。

    Host.CreateApplicationBuilder(args) 方法会创建一个应用程序构建器,你可以使用它来配置中间件、路由和其他 ASP.NET Core Web 相关功能。

    示例代码:

    csharp

    复制

    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.DependencyInjection;
    

    总结来说,Host.CreateDefaultBuilder(args) 用于创建泛型主机,而 Host.CreateApplicationBuilder(args) 用于创建 ASP.NET Core Web 主机的应用程序构建器。

    希望这个解答对你有帮助!

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。