2014-03-25 79 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 –