繁体   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