IIS7 MVC路由不起作用

amc*_*ott 5 asp.net asp.net-mvc iis-7 routes asp.net-mvc-4

我们公司提供基于MVC的产品(针对v4.5),该产品已经停止在客户现场工作,看似环境问题 - 一个曾经没有问题的构建现在给出了一个403.14 - The Web server is configured to not list the contents of this directory..

认为发生了什么......

  • 用户访问http:// server/AppName
  • 因为它是MVC应用程序,所以Reports/Index应该使用默认路由().
  • 相反,IIS正在寻找默认文档......
  • ...而且,没有找到一个,它假定用户想要列出目录的内容......
  • ...未启用,因此它会抛出403.14..

到目前为止我尝试过的...

  • 直接访问路由..导致404错误.所以我很确定IIS没有意识到它应该使用路由.
  • 用于aspnet_regiis向IIS注册ASP.Net.这是从Framework64文件夹完成的,因为......
    • 操作系统是64位 - Windows Server 2008(没有Hyper-V的标准版)
    • IIS是64位 - 虽然Enable 32-Bit Applications是真的
  • Checked AppPool的目标是框架的v4 - 它是.
  • 将AppPool模式更改为Classic- 非常确定它应该被集成,但值得排除它.它现在又回来了Integrated
  • 确认RunAllManagedModulesForAllRequests被设置为trueweb.config.
  • 经过在规定许可条件<system.webServer>的部分web.config得到满足-他们.
  • 创建了最简单的MVC应用程序并部署它 - 同样的问题.
  • 以管理员身份运行命令shell取消注册ASP.Net使用aspnet_regiis -ua并重新注册使用aspnet_regiis -enable -i.我们遇到了一些权限问题 - Temporary ASP.NET Files目录丢失但是一旦它们是地址我们又回到了同样的错误.
  • 添加了一个简单的default.htm- 当存在时,它是为响应http:// server/AppName请求而提供的.

我没有想法,所有谷歌点击建议上面的一些组合 - 或启用目录浏览(我认为这只是一个症状,而不是根本原因).

此外,不确定它是否相关,但IIS中的应用程序可用的可配置元素数量似乎略低于我的预期...

IIS选项

Web*_*ter 0

您可以尝试使用Enabling目录浏览。假设您使用的是 Windows Server 2012 或 Windows Server 2012 R2

  1. 在任务栏上,单击服务器管理器。
  2. 在服务器管理器中,单击“管理”菜单,然后单击“添加角色和功能”。
  3. 在“添加角色和功能”向导中,单击“下一步”。选择安装类型并单击下一步。选择目标服务器并单击“下一步”。
  4. 在“服务器角色”页上,依次展开“Web 服务器 (IIS)”、“Web 服务器”、“常见 HTTP 功能”,然后选择“目录浏览”。点击下一步。
  5. 在“选择功能”页面上,单击“下一步”。在确认安装选择页面上,单击安装。在“结果”页面上,单击“关闭”。

如果您使用 Windows PC,请在命令提示符中尝试以下操作:

  1. C:\Program Files\IIS Express
  2. 然后按Enter:appcmd set config /section:system.webServer/directoryBrowse /enabled