我正在尝试设置intranet IIS8.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页面)。
以下是一些额外的限制因素:
bin文件夹。服务器承载许多站点,我不想在任何地方复制bin文件夹。应该可以在全球范围内一劳永逸地配置它。web.config为每个网站。所服务的站点是一系列技术,包括.html、.shtml、.php、.asp、.aspx,以及--希望是-- .cshtml文件,不应该依赖于单一的技术或配置。.cshtml文件。我知道还有很多类似的问题,但不能很好地解决我的问题。
例如,这个问题在被回答之前就被关闭为“不清楚”,但对我来说这是相当清楚的!我也有同样的问题。
这个问题的可接受答案只需复制bin文件夹即可。这是我特别不想做的。
这个答案说,您可以在服务器上不安装MVC就可以运行MVC应用程序,也可以将bin文件夹复制到本地根目录中。我确实想把Razor (但不一定是MVC)安装到我的服务器上。
本质上,我要做的是使用Razor语法,使人联想到经典的ASP或ASPX,而没有MVC的包袱。
能办到吗?
发布于 2017-11-18 02:16:06
我相信你要找的是一个叫做ASP.NET网页的特性。如果使用ASP.NET Core2.0,那么最新的项目模板使用的是页面,而不是控制器和视图。我从未读过这个多卡,但我想它会帮助您入门(或者只是从新的项目向导创建ASP.NET Core2.0项目)。
https://stackoverflow.com/questions/47361742
复制相似问题