我正在尝试将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服务器的处理程序映射上删除.cshtml
文件到System.Web.ForbiddenHandler
的映射,我能够超越ASP.NET的最初障碍告诉我< / p>
不提供此类型的文件。
但是,.cshtml
文件现在逐字地提供给浏览器,而不是通过Razor渲染过程运行。
有人会认为从IIS提供Razor页面应该很容易,但事实并非如此。我需要以某种方式说服IIS将这些页面解释为Razor视图;我怀疑我错过了一些映射到适当的处理程序(我不想要MVC - 只是简单的网页)。
以下是一些其他限制因素:
我肯定希望避免在服务器上的每个站点中包含一个bin
文件夹和必需的Razor程序集。服务器托管了许多站点,我不想在任何地方复制bin
文件夹。应该可以全局配置它,一劳永逸。
理想情况下,我甚至不需要为每个网站提供本地web.config
。正在投放的网站是技术拼凑而成,包含.html
,.shtml
,.php
,.asp
,.aspx
,以及 - 希望 - {{1文件,不应该依赖于单一技术或配置。
创建Visual Studio项目显然是不可能的。我应该可以使用任何文本编辑器来修改.cshtml
文件。
计算机上未安装.NET Core,因此无法选择。必须使用最高4.6.2的完整框架。
我知道许多其他类似的问题,但并不能完全解决我的问题。
例如,This question在被解答之前被关闭为“不清楚”,但我很清楚!我遇到了同样的问题。
this question的接受答案只是转向复制bin文件夹。这是我特别不想做的事情。
This answer表示可以运行MVC应用程序,而无需在服务器上安装MVC ,再次将.cshtml
文件夹复制到本地根目录中。我做想要在我的服务器上全局安装Razor(但不一定是MVC)。
基本上,我想要做的就是使用Razor语法,让人想起传统的ASP或ASPX,而没有MVC的包袱。
可以吗?
答案 0 :(得分:0)
我相信您正在寻找的是一个名为ASP.NET网页的功能。如果使用ASP.NET Core 2.0,则最新的新项目模板使用Pages,而不是控制器和视图。我从未阅读this doco,但我想它应该可以帮助您入门(或者只是从新项目向导创建一个ASP.NET Core 2.0项目)