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

.NET 7 C# MVC应用部署IIS后30分钟超时问题求助

.NET 7 MVC IIS 30分钟超时问题解决思路
  • 检查应用程序池闲置超时
    打开IIS管理器,找到对应应用的应用程序池,右键进入「高级设置」:

    • 找到「进程模型」下的「闲置超时(分钟)」,默认值为30分钟,将其修改为840(对应14小时),或设为0表示永不超时
    • 确认「关闭超时(秒)」保持默认90秒即可,无需调整
  • 配置ASP.NET Session状态
    如果Session未使用默认的进程内(InProc)模式:

    • 若用StateServer:确保ASP.NET State Service服务处于运行状态,同时在web.config的<system.web>节点下添加或修改:
      <sessionState mode="StateServer" timeout="840" stateConnectionString="tcpip=localhost:42424" />
      
    • 若用SQL Server:启动SQL Server代理服务,在web.config中配置sessionState的timeout为840分钟,并确保SQL Server中的Session清理作业不会提前删除会话
  • 调整httpRuntime执行超时
    在web.config的<system.web>节点下添加:

    <httpRuntime executionTimeout="50400" />
    

    这里的executionTimeout单位为秒,50400秒对应14小时,用于控制单个请求的最长执行时长,避免因请求超时触发会话中断

  • 验证Session Cookie有效期
    用浏览器开发者工具查看Session Cookie的Expires或Max-Age属性,确认是否为14小时后过期。若不符,检查是否有其他中间件或IIS模块修改了Cookie配置

  • 排查反向代理/负载均衡超时
    如果IIS前端有负载均衡、Nginx等反向代理服务,需同步调整这些服务的连接超时、会话超时设置,确保时长不短于14小时

  • 检查应用程序池回收规则
    进入应用程序池高级设置的「回收」区域:

    • 确认「固定时间间隔(分钟)」未被设置为30分钟(默认1740分钟,即29小时)
    • 检查「请求限制」「虚拟内存限制」等回收条件,避免触发提前回收

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:56:15