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

部署在IIS 10上的ASP.NET Core 8.0 Web API间歇性出现404 Not Found

.NET 8 Web API部署IIS后次日出现404错误排查

我近期将一个.NET 8 Web API发布至Windows服务器的IIS上。起初出现“Failed to Load ASP.NET runtime”错误,安装ASP.NET Core Runtime 8.0.5 Windows Hosting Bundle后API运行正常。但次日用Postman调用时出现404 Not Found错误。已做以下排查:

  • 开发环境调试运行正常
  • 域名指向正确IP
  • 应用池未出现在Worker Processes中
  • 重启过IIS网站/应用池
  • 重启过IIS服务
  • Windows事件日志无相关记录
  • IIS日志文件基本为空

Web.config内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\SamadhiAPI.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: b7f93657-cfc6-4b8d-91d7-33f7e9e4960b-->

排查建议

  1. 检查应用池身份权限
    确认应用池的运行身份(如ApplicationPoolIdentity、LocalSystem等)是否拥有API发布目录的访问权限。右键发布目录→属性→安全,添加对应身份并赋予读取、执行权限。
  2. 查看stdout启动日志
    Web.config已开启stdoutLogEnabled="true",检查发布目录下的logs文件夹是否生成日志文件。若未生成,手动创建logs文件夹并给应用池身份分配写入权限,重启应用池后再次调用API,通过日志排查启动失败原因。
  3. 验证AspNetCoreModuleV2注册状态
    打开IIS管理器→服务器节点→模块,确认AspNetCoreModuleV2存在。若缺失,重新安装ASP.NET Core Hosting Bundle,安装完成后重启IIS。
  4. 切换托管模式测试
    当前配置使用hostingModel="inprocess",尝试改为outofprocess,保存Web.config后重启应用池,测试API是否可正常访问:
    <aspNetCore processPath="dotnet" arguments=".\SamadhiAPI.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" />
    
  5. 核对网站绑定与路由配置
    确认IIS网站的绑定端口、主机名与请求地址完全匹配。同时检查API的路由配置,比如是否存在全局路由前缀、控制器上的路由特性是否正确。
  6. 验证服务器.NET运行时版本
    在服务器命令提示符中执行dotnet --list-runtimes,确认ASP.NET Core 8.0.5运行时已正确安装。
  7. 检查应用池CLR版本设置
    .NET Core应用不依赖传统.NET Framework CLR,需将应用池的.NET CLR版本设置为无托管代码。右键应用池→高级设置→常规→.NET CLR版本,选择对应选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:42:45