【问题标题】:404 When Serving .cshtml in IIS 6在 IIS 6 中服务 .cshtml 时出现 404
【发布时间】:2014-05-03 23:21:23
【问题描述】:

我正在尝试使用 IIS 6 启动并运行 ASP.NET WebPages(非 MVC)站点,但我无法让它为 .cshtml 页面提供服务 - 它每次都会返回 404 错误。我已经确认它可以毫无问题地提供 .html 和 .aspx 页面。到目前为止,我已经完成了以下工作:

  • 安装 ASP.NET 4.0 (aspnet_regiis -i)
  • 将站点配置为使用 ASP.NET 4.0 (aspnet_regiis -s ...)
  • 允许 ASP.NET v4.0 Web 服务扩展
  • 将 aspnet_isapi.dll 映射为应用程序配置中 .cshtml 文件的处理程序(并且作为通配符映射,没有骰子)
  • 在应用程序配置中将 .cshtml 添加到 MIME 类型
  • 确保只有 ASP.NET 4.0 应用程序位于应用程序池中
  • <modules runAllManagedModulesForAllRequests="true" /> 添加到web.config
  • 确保必要的 .dll 位于站点的 bin 文件夹中
  • 授予“所有人”组对站点文件夹和子文件夹的完全控制权

我在不久前建立的同一框架上有一个工作站点(并且未能记录我的过程,吸取的教训),所以我尝试导出该站点的配置,从文件创建一个新站点,并将其指向新站点的正确目录,但我仍然收到 404。

我知道已经有很多 IIS/ASP.NET 问题,但是我看到的每一个问题要么不适用于我的情况(很多 MVC 问题),要么被一个人解决了或更多我已经尝试过的东西。

有人知道是什么原因造成的吗?

【问题讨论】:

  • 我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
  • @JohnSaunders,感谢,但它是 IIS 6 的事实是相关的,所以我以非标记形式将它添加回标题。
  • 在服务器上安装 MVC 将使所有必要的文件可用,即使您没有使用 MVC。 asp.net/mvc/mvc4

标签: asp.net iis razor iis-6 asp.net-webpages


【解决方案1】:

CSHTML 是 Razor 引擎提供的模板页面。尝试打开一个 ASPX 页面。 要提供 cshtml,您需要配置 Razor 引擎。

此外,CSHTML 根据路由配置提供不同的服务

【讨论】:

  • ASPX 页面也可以正常工作。我知道 CSHTML 由 Razor 引擎提供服务。除了在我的 bin 文件夹中包含 System.Web.Razor.dll 和 System.Web.WebPages.Razor.dll 之外,还需要进行哪些配置?正常运行的姊妹站点不需要任何 Razor 配置。
  • 只是为了确认您的应用程序池集成了 .net 4.0 对吗?另外,您是否在 IIS 中看到任何用于您的 cshtml 扩展的 ForbiddenHandlers?
  • 这是一个包含更多详细信息的 SO 链接:stackoverflow.com/questions/5900066/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 2020-07-26
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
相关资源
最近更新 更多