asp.net-mvc - 在 IIS 7 中使用 ASP.NET MVC 1 的特定 Controller 名称的路由问题

标签 asp.net-mvc iis-7.5

我加入了一个开发 ASP.NET MVC 版本 1 应用程序的团队。我使用 IIS 7.5 版在本地计算机上运行此应用程序。我的操作系统是 Windows Server 2008 R2 企业版。我使用 Visual Studio 2008 SP1 进行开发。

此应用程序中的 Controller 之一称为 ReportsController。此 Controller 的路由表条目使用“报告”作为 Controller 名称部分。我遇到的问题是,在我的本地机器上使用 IIS 7.5,我根本无法访问任何 Reports 操作方法。如果我尝试从 Chrome 或 Firefox 访问“/Reports/Index”,我会收到 401 Unauthorized 响应(如使用 Fiddler 所见),并且浏览器会显示其用户名/密码输入对话框。

请注意以下事项:

  • 应用程序中的所有其他非报告页面都能正常工作。
  • 如果我向 Application_BeginRequest 添加断点,则在请求报告页面时不会命中它。
  • 如果我更改路由表注册代码中的报告路由条目,以便我必须访问像“/Reportss/Index”这样的路径(注意额外的“s”),那么这些报告页面可以正常工作。
  • 我尝试在 IIS 中删除然后重新创建我的 Web 应用程序。
  • 如果我使用 Visual Studio 2008 开发服务器 (Cassini) 运行应用程序,则报告页面工作正常。
  • 应用程序目录中没有名为 Reports 的目录。
  • 报告页面在我们的 UAT 环境中正常工作,也在 IIS 7.5 下。
  • 我已经多次检查我的 IIS 设置,包括将它们与 UAT 上的设置进行比较,但我看不出有什么问题。

  • 虽然我可以使用 Cassini 访问报告页面,但我真的很想了解导致此问题的原因。

    最佳答案

    如果您的计算机上安装了 Reporting Services。尝试创建一个新网站并使用它。如果您的机器上安装了 SSRS,它会使用/reports 来托管报告。

    关于asp.net-mvc - 在 IIS 7 中使用 ASP.NET MVC 1 的特定 Controller 名称的路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904506/

    相关文章:

    asp.net-mvc - ASP.NET MVC View 中的递归

    c# - Fluent Validation - 将参数传递给集合验证器

    asp.net-mvc - Kendo Treeview 继续显示 没有要显示的记录

    c# - 检测 ASP.NET 中的内存泄漏

    c# - IHostedService 的优雅关闭

    jquery - 在一个请求中上传多个文件 Dropzone 发送两个请求

    .net - 在ASP.NET MVC中生成QR代码

    google-chrome - 网站在 chrome 中不工作,但在 FF 和 IE 中工作

    asp.net - ASP.NET 4 应用程序在哪个 Windows 帐户下运行?

    asp.net-mvc-3 - 为什么我的 MVC3 Intranet 站点 Windows 身份验证在发布时不起作用