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

为何部署在IIS的.NET WEB API仅列出物理文件无法正常运行

.NET Framework Web API IIS部署仅展示文件列表排查方案
  • 检查IIS对应版本ASP.NET组件安装状态
    打开「控制面板-程序和功能-启用或关闭Windows功能」,找到「Internet Information Services-万维网服务-应用程序开发功能」,确认勾选了和项目目标框架匹配的*.NET Framework 版本ASP.NET*组件,比如项目基于.NET Framework 4.8就勾选ASP.NET 4.8,不要仅安装静态内容等基础IIS组件。组件安装完成后重启IIS再测试访问。
  • 检查站点应用程序池配置
    打开IIS管理器,找到站点对应的应用程序池,右键选择「基本设置」,确认*.NET CLR版本选择的是「v4.0.30319」(所有.NET Framework 4.x版本通用该CLR版本),而非「无托管代码」,同时确认托管管道模式*设置为「集成」。
  • 检查Web.config路由模块配置
    确认发布根目录存在Web.config文件,且<system.webServer>节点下正确注册了Web API所需的路由和处理程序,推荐配置参考:
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true">
        <remove name="UrlRoutingModule-4.0" />
        <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
      </modules>
      <handlers>
        <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
      </handlers>
    </system.webServer>
    
  • 禁用IIS目录浏览功能
    当前看到的文件列表是目录浏览功能的输出,正常Web API站点无需开启该功能。打开IIS管理器的站点功能视图,找到「目录浏览」选项,确认状态为「已禁用」,修改后重启站点。
  • 验证API访问路径正确性
    不要仅访问站点根路径验证运行状态,.NET Framework Web API默认没有配置根路径默认页,根路径无响应属于正常情况。请直接按照你定义的路由规则访问API接口测试,比如存在ValuesController的情况下访问http://你的站点地址/api/values验证接口返回。
  • 检查发布文件夹权限配置
    右键发布根文件夹,打开「属性-安全」页,确认站点对应的应用程序池用户(默认命名规则为IIS AppPool\你的应用程序池名称)拥有该文件夹的「读取和执行」、「列出文件夹内容」、「读取」权限,权限缺失的话添加对应权限后重启站点即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:48:01