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

如何在C#代码中读取Azure Function App的functionTimeout配置值

配置属性说明

是的,host.json中的functionTimeout不属于默认注入的环境变量,它是Azure Functions运行时读取的宿主级全局配置项,需要通过对应运行时模型的配置接口读取。


C#代码读取方案

根据你使用的Azure Functions运行时模型,对应两种读取方式:

1. 进程内(In-Process)模型

直接通过构造函数注入IConfiguration读取即可:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Extensions.Configuration;
using System;

public class TimeoutReadFunction
{
    private readonly IConfiguration _config;

    // 构造函数注入配置实例
    public TimeoutReadFunction(IConfiguration config)
    {
        _config = config;
    }

    [FunctionName("GetTimeoutConfig")]
    public IActionResult Run(
        [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req)
    {
        // 直接按键名读取host.json的顶层配置
        string timeoutStr = _config.GetValue<string>("functionTimeout");
        TimeSpan timeout = TimeSpan.Parse(timeoutStr);
        return new OkObjectResult($"当前配置的超时时间为{timeout.TotalMinutes}分钟");
    }
}

2. 隔离进程(Isolated Worker)模型

隔离模型下host.json配置会挂载到AzureFunctionsJobHost节点下,读取路径需要调整:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Configuration;
using System;

public class TimeoutReadFunction
{
    private readonly IConfiguration _config;

    public TimeoutReadFunction(IConfiguration config)
    {
        _config = config;
    }

    [Function("GetTimeoutConfig")]
    public IActionResult Run(
        [HttpTrigger(AuthorizationLevel.Function, "get")] HttpRequest req)
    {
        // 增加配置节点前缀
        string timeoutStr = _config.GetValue<string>("AzureFunctionsJobHost:functionTimeout");
        TimeSpan timeout = TimeSpan.Parse(timeoutStr);
        return new OkObjectResult($"当前配置的超时时间为{timeout.TotalMinutes}分钟");
    }
}

注意事项

  • 本地测试时需要将host.json文件的「复制到输出目录」属性设置为「如果较新则复制」,否则本地运行会读取不到配置
  • 消费计划下functionTimeout最大有效值为10分钟,弹性计划/专用计划最大有效值为60分钟,读取到的数值会和平台允许的最大值对齐

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:06:04