gpt4 book ai didi

.net-core - 如何为 .NET Core 3.0 Worker Service 设置环境?

转载 作者:行者123 更新时间:2023-12-03 15:35:52 25 4
gpt4 key购买 nike

这是我尝试过的:

  • 我看了一眼 Host.CreateDefaultBuilder 的来源并通过将环境变量 DOTNET_Environment 设置为“Production”开始。那失败了。
  • 于是我尝试了经典的 ASPNETCORE_ENVIRONMENT。不。
  • 然后我尝试添加 hostsettings.json到执行项目的根目录:

  • {
    "Environment": "Production"
    }
    纳达。
    为了使用 appsettings.Production.json,您到底是如何指定生产机器的?文件?

    最佳答案

    没关系,我想通了。我很笨
    首先,检查您的 Properties/launchSettings.json “DOTNET_ENVIRONMENT”值的文件。这对包括我在内的大多数人来说可能已经足够了。
    事实上,它还会寻找 hostsettings.json默认情况下项目根目录中的文件。在我的情况下,它只是被 launchSettings 覆盖了环境变量声明。
    但是,如果您想使用我在问题中提到的 JSON 方法,但使用默认文件名或位置以外的其他内容,则必须调用 ConfigureHostConfiguration在您的 IHostBuilder链接并显式添加文件。
    像这样:

    public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
    .ConfigureHostConfiguration(
    builder =>
    {
    builder.AddJsonFile("arbitraryFileName.json");
    })
    .ConfigureServices(
    (hostContext, services) =>
    {
    services.AddHostedService<Worker>();
    services.Configure<Settings>(
    hostContext.Configuration.GetSection("Settings"));
    });
    它确实默认使用“DOTNET_”作为前缀而不是“ASPNETCORE_”,因此请确保在您的生产机器/VM/服务上都设置了两者。

    关于.net-core - 如何为 .NET Core 3.0 Worker Service 设置环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58254331/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com