【问题标题】:Cannot setup configuration in a Isolated Azure Function - .NET 7无法在独立的 Azure 函数中设置配置 - .NET 7
【发布时间】:2023-02-16 01:07:47
【问题描述】:

我正在将我的功能从 .NET Core 3.1 升级到 .NET 7 Isolated

我的函数应用程序继承自一个基类,该基类执行与所有函数应用程序相关的所有设置。这非常有效

但是,在 .NET 7 Isolated 中,似乎不支持/不推荐函数启动?

我可以创建一个函数初始化器类,然后我可以调用它来设置我的服务,这很好

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults((IFunctionsWorkerApplicationBuilder builder) =>
    {
        
    })
    .ConfigureServices((context, s) =>
    {
           var initializer = new FunctionAppInitializer(s);
           initializer.Run();
    })
    .Build();

    host.Run();

但是,我的配置有问题,因为它不可用。

我怎样才能运行下面的方法?

 public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
    {
        var kvEndpoint =
            Environment.GetEnvironmentVariable("ASPNETCORE_HOSTINGSTARTUP__KEYVAULT__CONFIGURATIONVAULT");
        var environmentName =
            Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
        builder.ConfigurationBuilder
            .AddAzureKeyVault(new Uri(kvEndpoint!), new DefaultAzureCredential())
            .SetBasePath(Environment.CurrentDirectory)
            .AddJsonFile("local.settings.json", optional: true)
            .AddJsonFile($"local.settings.{environmentName}.json", optional: true)
            .AddEnvironmentVariables()
            .Build();
    }

这覆盖了 FunctionStartup.ConfigureAppConfiguration,它使我可以访问构建器。

使用新方法,虽然我可以在 ConfigureFunctionsWorkerDefaults 中访问构建器,但构建器对象没有 ConfigurationBuilder

保罗

【问题讨论】:

    标签: azure azure-functions .net-7.0 azure-functions-isolated


    【解决方案1】:

    您可以使用ConfigureHostConfiguration方法

    var host = new HostBuilder()
    .ConfigureHostConfiguration(configHost =>
    {
        configHost.AddEnvironmentVariables(prefix: "DOTNET_");
        configHost.AddCommandLine(args);
        configHost.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true);
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多