问题描述
环境 :. Net Framework 4.7.2
正在读取应用程序设置:app.config,项目中没有applicationsettings.json
问题:环境变量不会覆盖project.exe.config中的CRON表达式(在Kudu中为一个)并触发。所有其他应用程序设置都将被覆盖,但会显示CRON表达式。
这是我的建造者:
var builder = new HostBuilder();
var resolver = new myNameResolver();
builder.ConfigureWebJobs(buil =>
{
buil.AddAzureStorageCoreServices();
buil.AddAzureStorage();
buil.AddServiceBus(servBus=>
{
servBus.MessageHandlerOptions.AutoComplete = false;
servBus.MessageHandlerOptions.MaxConcurrentCalls = myMaxConcurrentCalls;
servBus.ConnectionString = myServiceBusConnectionString;
servBus.MessageHandlerOptions.MaxAutoRenewDuration = TimeSpan.FromHours(12);
});
buil.AddTimers();
});
builder.ConfigureServices(serv => serv.AddSingleton<INameResolver>(resolver));
builder.ConfigureHostConfiguration(config =>
{
config.AddInMemoryCollection(BuildConfiguration(myStorageConnectionString));
config.AddEnvironmentVariables();
});
builder.ConfigureAppConfiguration(buil => buil.AddEnvironmentVariables());
解决方法
在Visual中单击 发布为Azure WebJob ... 后,您是否注意到 settings.job 文件?工作室?恐怕尚未读取CRON设置。
您应该使用该文件来设置WebJob的计划,并在Visual Studio中将您的 settings.job 文件属性设置为 如果较新则复制 。
此文件也将存储在Kudu中。
有关WebJobs的更多详细信息,您可以参考this。
对于您的问题,在一个WebJob中具有多个计划的多项功能,似乎不可能。