2014-03-25 82 views
2

我试图让一个ASP.NET WebPages(而不是MVC)网站启动并与IIS 6运行,但我不能让它服务.cshtml页面 - 它只是吐每次回404错误。我已经确认它可以为.html和.aspx页面提供服务。到目前为止,我已经做了以下内容:404当服务.cshtml在IIS 6

  • 安装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文件夹
  • 给站点文件夹的“Everyone”组完全控制和子文件夹

我有一个工作(我没有记录我的过程,经验教训),所以我尝试导出该站点的配置,从文件创建一个新站点,并将它指向新站点的正确目录,但我仍然得到一个404.

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

任何人都有线索可能导致这种情况?

+0

我编辑了自己的冠军。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

+0

@JohnSaunders,非常感谢,但事实证明它与IIS 6是相关的,所以我将它添加回非标记形式的标题。 – Bluesky

+0

即使您未使用MVC,在服务器上安装MVC也会使所有必需的文件可用。 http://www.asp.net/mvc/mvc4 – johna

回答

0

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

此外,CSHTML供应不同的基于路由的配置

+0

ASPX页面也很好。 我知道CSHTML是由Razor引擎服务的。除了在我的bin文件夹中包含System.Web.Razor.dll和System.Web.WebPages.Razor.dll之外,还需要做什么配置?运作的姊妹站点不需要任何Razor配置。 – Bluesky

+0

只是为了确认你的应用程序池是.net 4.0集成的吗?另外,你是否看到任何ForbiddenHandlers在IIS中的cshtml扩展名? –

+0

这里是一个更详细的SO链接:http://stackoverflow.com/questions/5900066/what-exactly-needs-done-to-iis-6-to-serve-cshtml-pages –