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

Azure App Service部署多dotnet应用报HTTP Error 500.35错误如何解决?

错误根本原因

HTTP Error 500.35的触发条件是同一个IIS应用池进程中存在多个采用In-Process托管模式的ASP.NET Core应用。你当前的默认站点和第二个子站点均为.NET 5,默认启用In-Process托管,因此触发冲突;而.NET 2.1应用默认使用OutOfProcess托管,因此未触发报错。

可行解决步骤

你之前的操作未生效大概率是配置未正确覆盖全局默认值,可按以下顺序排查修复:

  • 第一步:确认所有应用的托管模式全局强制配置为OutOfProcess
    不要只修改csproj,要在每个应用的web.config中显式指定托管模式,优先级高于项目配置:
    在web.config的<aspNetCore>节点添加hostingModel="outofprocess"属性,示例配置如下:

    <aspNetCore processPath="dotnet" arguments=".\你的应用.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess">
    </aspNetCore>
    

    注意必须给默认站点和第二个.NET 5子站点都添加该配置,仅修改子站点配置不会生效。

  • 第二步:验证AspNetCoreModule版本配置正确
    所有应用的web.config中handlers节点必须统一使用AspNetCoreModuleV2,避免模块版本混用导致的配置失效:

    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    
  • 第三步:清理Azure App Service残留配置
    进入Azure门户的对应Web App服务,选择「配置」-「路径映射」,确认3个应用的虚拟目录配置路径、物理路径正确,没有冗余配置;之后重启整个应用服务,强制释放之前的In-Process进程资源。

  • 备用方案:拆分应用服务
    如果以上配置修改后仍未生效,建议将第二个.NET 5子站点单独部署到独立的Azure Web App实例中,从根源避免同应用池的进程冲突。

错误截图参考

错误截图


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:15:01