У меня есть Core WebJob, развернутый в веб-приложении Azure.Я использую WebJobs версии 3.0.6 .
Я заметил, что изменения в строках подключения и настройках приложения (добавленные через веб-интерфейс Azure) не сразу принимаютсяКод WebJob.
Это похоже на то, что те же строки подключения и настройки приложения не отображаются на странице env KUDU приложения сразу (хотя я признаю, что это может быть красная сельдь и какая-то вещь для кэширования KUDU, которую яне в курсе).
В прошлом я развернул несколько неосновных WebJobs и не сталкивался с этой проблемой, так что удивляетесь, связана ли она с Core?Хотя я не могу понять, как это может повлиять на конфиги, показывающие KUDU.
У меня была эта проблема на днях (когда конфиги не были обнаружены WebJob или показаны в KUDU) и получалникуда, так что оставил это.Когда я вернулся на следующий день, конфиги теперь правильно отображались в KUDU и перехватывались WebJob.Поэтому я хотел бы знать, что произошло за это время, что означает, что конфиги теперь выбираются, как и ожидалось.
Я попытался перезапустить WebJob и перезапустить приложение после внесения изменений в конфигурацию.но ни один, похоже, не дает эффекта.
Стоит также отметить, что я не загружаю appSettings.json
во время настройки программы.Тем не менее, загружаемая строка подключения была последовательно строкой подключения из этого файла, т.е. моего локального компьютера SQL Server / DB.Я всегда понимал, что что-либо в веб-интерфейсе Azure переопределяет любые эквивалентные настройки из файлов конфигурации. В этом сообщении от Дэвида Эббо указано, что при вызове AddEnvironmentVariables()
во время установки будут наблюдаться конфигурации Azure , но здесь это не так .Изменилось ли это, или он загружает конфиги из этого файла по соглашению, потому что он не может видеть содержимое из Azure?
Вот мой код программы WebJob:
public static void Main(string[] args)
{
var host = new HostBuilder()
.ConfigureHostConfiguration(config =>
{
config.AddEnvironmentVariables();
})
.ConfigureWebJobs(webJobConfiguration =>
{
webJobConfiguration.AddTimers();
webJobConfiguration.AddAzureStorageCoreServices();
}
)
.ConfigureServices((context, services) =>
{
var connectionString = context.Configuration.GetConnectionString("MyConnectionStringKey");
services.AddDbContext<DatabaseContext>(options =>
options
.UseLazyLoadingProxies()
.UseSqlServer(connectionString)
);
// Add other services
})
.Build();
using(host)
{
host.Run();
}
}
Итак, мои вопросы:
- Как быстро должны быть добавлены / обновлены конфигурации через веб-интерфейс Azure в KUDU?
- Не относится ли тот факт, что они не отображаются в KUDU, относительно моего основного WebJob?видите обновленные конфиги?
- Загружается ли appSettings.json, даже если я не звоню
.AddJsonFile("appSettings.json")
? - Что я могу сделать, чтобы новые конфиги, добавленные через Azure, были доступны длямой WebJob немедленно?