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

使用IIS托管ASP.NET Core 6应用遇默认文档/目录列表错误求助

解决ASP.NET 6 IIS托管提示缺少默认文档的问题
  • 检查站点web.config的模块配置
    确认web.config中AspNetCoreModuleV2的拦截规则是否覆盖所有请求,正确配置示例:

    <?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=".\YourApp.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
        </system.webServer>
      </location>
    </configuration>
    核心是`path="*"`,确保所有请求都转发到ASP.NET Core应用,而非让IIS自行查找默认文档。
    
    
  • 确认应用池的托管管道模式
    除了设置为No Managed Code,必须将应用池的托管管道模式设为集成模式,经典模式会导致AspNetCoreModuleV2无法正常拦截请求。

  • 验证ASP.NET Core Hosting Pack状态
    打开命令提示符运行dotnet --list-runtimes,确认Microsoft.AspNetCore.App 6.0.10存在;同时在IIS管理器的“模块”列表中,确认AspNetCoreModuleV2处于启用状态。

  • 检查应用的路由配置
    确认Program.cs中已配置根路径可响应的端点,比如:

    // Minimal API 示例
    app.MapGet("/", () => "Home Page");
    // MVC 示例
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    

    确保应用本身能处理根路径请求,避免因无对应路由导致IIS fallback到默认文档查找逻辑。

  • 启用日志排查启动问题
    将web.config中stdoutLogEnabled设为true,访问站点后查看应用目录下logs文件夹的日志,确认应用是否正常启动、有无初始化错误,以此区分是IIS配置问题还是应用自身启动异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:50:26