Я создаю приложение-функцию Azure (v2). Задачи конфигурации, необходимые для всех функций, выполняются в классе Setup, который структурирован следующим образом:
[assembly: WebJobsStartup(typeof(Startup))]
internal class Startup : IWebJobsStartup
{
public void Configure(IWebJobsBuilder builder)
{
Configuration = new ConfigurationBuilder()
.SetBasePath(<functionAppDirectory>)
.AddJsonFile("local.settings.json")
.Build();
builder.AddDependencyInjection(ConfigureServices);
}
public IConfiguration Configuration { get; set; }
private void ConfigureServices(IServiceCollection services)
{
var connection = Configuration.GetConnectionString("<myconnection-string>");
...
}
}
В ConfigureServices я хочу прочитать строку подключения из файла конфигурации. Для этого была указана базовая папка приложения функции с помощью SetBasePath. Но я не нашел способа получить доступ к этому пути. Согласно https://github.com/Azure/azure-functions-host/wiki/Retrieving-information-about-the-currently-running-function, ExecutionContext может быть введен в функцию, которая содержит путь. Но как мне получить доступ к ExecutionContext в моем классе Startup?