【发布时间】: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