0

环境:.Net Framework 4.7.2

正在读取的应用程序设置:app.config,项目中没有 applicationsettings.json

问题:环境变量不会覆盖 project.exe.config(Kudu 中的一个)中的 CRON 表达式并触发。所有其他应用程序设置都被覆盖,但 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());
4

1 回答 1

1

在 Visual Studio 中单击发布为 Azure WebJob...后,您是否注意到settings.job文件?恐怕 CRON 设置还没有被读取。

您应该使用该文件来设置 WebJob 的计划,并在 Visual Studio 中将settings.job文件属性设置为Copy if newer在此处输入图像描述

该文件也将存储在 Kudu 中。 在此处输入图像描述有关 WebJobs 的更多详细信息,您可以参考这里

对于您的问题,一个 WebJob 中具有多个计划的多个功能,这似乎是不可能的。

在此处输入图像描述

于 2020-08-26T01:56:41.737 回答