簡體   English   中英

全局在IIS上提供.cshtml文件

[英]Serving .cshtml files on IIS globally

我正在嘗試將Intranet IIS 8.5(Win8.1)設置為全局提供.cshtml (Razor)文件。 相應的應用程序池設置為v4.0

這些文件是簡單的網頁,而不是MVC。 這是一個示例:

<html>
<body>
@foreach (var i = 0; i < 10; i++)
{
   <li>Item @i</li>
}
</body>
</html>

通過刪除IIS服務器的Handler映射上的.cshtml文件到System.Web.ForbiddenHandler映射,我可以克服ASP.NET告訴我的最初障礙

無法提供此類文件。

但是,現在將.cshtml文件原樣提供給瀏覽器,而不是通過Razor渲染過程運行。

有人認為從IIS服務Razor頁面應該很容易,但事實並非如此。 我需要以某種方式說服IIS將這些頁面解釋為Razor視圖。 我懷疑我缺少一些到適當處理程序的映射(盡管我不想要MVC-只是簡單的Web頁)。

以下是一些其他約束:

  • 我絕對希望避免在服務器上的每個站點中都包含帶有必需的Razor程序集的bin文件夾。 該服務器托管許多站點,我不需要到處復制bin文件夾。 應該有可能一勞永逸地全局配置它。

  • 理想情況下,每個站點我都不需要本地的web.config 所服務的站點是技術的拼湊而成,其中包含.html.shtml.php.asp.aspx和-希望.cshtml文件,並且不應依賴於單個技術或配置。

  • 創建Visual Studio項目顯然是不可能的。 我應該能夠使用任何文本編輯器來修改.cshtml文件。

  • .NET Core未安裝在計算機上,也不是一個選擇。 必須使用完整的框架,最高為4.6.2。

我知道許多其他類似的問題,但並不能完全解決我的問題。

例如,在可以回答之前, 該問題被關閉為“不清楚”,但對我來說很清楚! 我現在正在遇到一模一樣的問題。

這個問題的公認答案只是求助於復制bin文件夾。 這是我特別不想做的事情。

這個答案說您可以運行MVC應用程序,而無需在服務器上安裝MVC ,只需將bin文件夾復制到本地根目錄中即可。 確實想在全球范圍內將Razor(但不一定是MVC)安裝到我的服務器上。

本質上,我想做的是使用Razor語法,使人聯想到經典的ASP或ASPX,而沒有MVC的負擔。

能做到嗎

我相信您正在尋找的是一種稱為ASP.NET網頁的功能。 如果使用ASP.NET Core 2.0,則最新的新項目模板將使用Pages,而不是控制器和視圖。 我從未閱讀過此文檔 ,但我想它應該可以幫助您入門(或者只是通過新的項目向導創建ASP.NET Core 2.0項目)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM