You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebJob Timer Schedule能否存于appsetting.json子对象?读取失败求助

TimerTrigger读取嵌套配置中Cron表达式失败的解决方案

问题场景

将Cron字符串存储在appsetting.json根节点时,TimerTrigger可以正常读取;但将配置嵌套到子对象后,无法读取到对应的Cron表达式。

配置文件(appsetting.json)示例

"EETHistoryJobSettings": {
    "SomeSetting": {
      "Name": "A"
    },
    "Schedule": "*/15 * * * * *"
  }

现有TimerTrigger代码

public async Task Run([TimerTrigger("%EETHistoryJobSetting.Schedule%", RunOnStartup = true)] TimerInfo timerInfo, ILogger logger)
{
    // 业务逻辑代码
}

问题原因及解决方法

可以在子对象中指定Cron时间,不需要必须放在根节点。你的问题是配置路径拼写错误:

  • 配置文件中的节点名称是EETHistoryJobSettings(末尾有s)
  • 代码中写的是%EETHistoryJobSetting.Schedule%(末尾缺少s)

修正后的代码如下:

public async Task Run([TimerTrigger("%EETHistoryJobSettings.Schedule%", RunOnStartup = true)] TimerInfo timerInfo, ILogger logger)
{
    // 业务逻辑代码
}

额外检查项:

  • 确认appsetting.json的复制属性设置为「如果较新则复制」或「始终复制」,避免部署时配置文件未被正确包含。

内容的提问来源于stack exchange,提问作者daxu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:30:45