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

Azure Function 4.x进程外模式HTTP触发器POST超4MB数据超时问题

Azure Functions 4.x 进程外模式POST超过4MB请求超时解决办法

这个问题的根因是Azure Functions 4.x 进程外(隔离工作进程)模型存在两层独立的请求大小限制:

  • Azure Functions宿主层的HTTP触发器限制为100MB,也就是你查到的官方文档说明的限制
  • 隔离工作进程自身默认设置了4MB的最大请求体限制,这层限制是3.x进程内模型没有的,所以你在3.x版本可以正常运行,4.x进程外版本会出现超时或者请求被截断的问题

修复步骤

  1. 调整项目内工作进程的默认限制
    在你的.NET隔离进程项目的Program.cs文件中,修改HostBuilder的配置,手动调高MaxRequestBodySize参数,示例代码如下:
var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults(workerOptions =>
    {
        workerOptions.Services.Configure<FunctionsWorkerOptions>(options =>
        {
            // 设置为100MB,单位为字节,可根据实际需求调整大小
            options.MaxRequestBodySize = 104857600;
        });
    })
    .Build();

host.Run();
  1. 调整Azure侧的应用配置(部署到云环境时需要)
    在Azure门户的Function App配置页,添加如下应用设置:
  • 配置项名称:FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
  • 配置值:104857600
  1. (可选,Windows App Service计划需要)调整web.config的请求限制
    如果你的Function App运行在Windows环境的App Service计划(非消费计划)下,还需要在项目根目录添加web.config文件,修改IIS的请求大小限制:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="104857600" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:45:01