移除apsx视图引擎,及View目录下的web.config的作用
<>
使用Rezor视图引擎的时候移除apsx视图引擎
Global.asax文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing; namespace MvcApp
{
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明。
// 请訪问 http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes); //寻常我们一般用Razor视图引擎,所以就没有必要要MVC再去查找aspx视图引擎。所以能够将aspx视图引擎移除掉。这样每次载入视图的时候就会快一点(由于每次载入视图的时候都去查找aspx视图引擎是要耗性能的。我们能够创建一个Home控制器,不给它创建Index视图,当我们訪问/Home/Index的时候,就会提示找不到视图,我们能够看到MVC去查找了aspx和Razor视图后。没有找到。就会报找不到视图的错误) //为什么要把移除视图引擎的代码写在这个Global.asax文件里呢?那是由于站点启动,我就先将它移除。 //移除aspx视图引擎
//ViewEngines.Engines.RemoveAt(0); //这个是一次Razor视图引擎
//ViewEngines.Engines.RemoveAt(1);
}
}
}
在MVC项目中,我们发现有view视图里面也有一个web.config配置文件,那么这个配置文件是干什么的呢?
我们看到的视图。本质上就是一个前端类,它会在我们的视图引擎第一次找到它的时候将它编译成一个前端页面类,编译完后。就须要将这个前端页面类继承一个webViewPage<TModel>的泛型类,或者WebViewPage类 (注:WebViewPage类是webViewPage<TModel>类的父类)
(看了以下的代码后。我们就会发现视图编译完后生成的前端页面类的父类就是在View目录以下的这个web.config文件中指定的)
我们打开这个web.config文件就能够看到里面就有这么一段
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
假设我们将这个View目录中的web.config文件删除后,就会爆以下这段错误
我们訪问一个视图页面。比如/Home/Index的时候。视图引擎就会编译这个Index视图。当编译的时候会发现,找到了视图,它不知编译完的这个前端页面类的父类究竟是谁
所以得出结论:View目录以下的web.config文件的作用是告诉视图引擎怎样编译视图的前台页面类。以及制定当前页面类的父类为WebViewPage
这个web.config里面的配置不须要我们手动的更改不论什么东西,也不能删除
移除apsx视图引擎,及View目录下的web.config的作用的更多相关文章
- MySQL库目录下db.opt文件的作用
细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件,那这个文件是干什么用的呢?如果你用vi等编辑器打开看的话,内容很简单,是用来记录该库的默认字符集编码和字符集排序规则用的.也就是说如果 ...
- apache的bin目录下的apxs有什么作用? PHP模块加载运行方式
2016-03-26 16:40:28 一个perl脚本安装http server扩展模块用的apxs - APache eXtenSion tool –with-apxs2=/usr/local ...
- Apache Tomcat目录下各个文件夹的作用
1.bin:存放各种不同平台开启与关闭Tomcat的脚本文件. 2.lib:存tomcat与web应用的Jar包. 3.conf:存放tomcat的配置文件. 4.webapps:web应用的发布目录 ...
- tomcat跟目录下work文件夹的作用
work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录. jsp,tomcat的工作原理:当浏览器访问某个jsp页面时,tomcat会在work目录里把这个j ...
- iis 在站点中新建虚拟目录站点之后,虚拟目录中的 web.config 与 主站点中的 web.config冲突解决方案
在虚拟目录站点中增加如下配置即可:<clear/>
- Asp.net MVC 移除不用的视图引擎
Asp.net MVC 默认提供两个视图引擎,分别为: WebFormViewEngine 和 RazorViewEngine.MVC在查找视图时,会按照指定的顺序进行查找.当我们的MVC程序未找到相 ...
- MVC ViewEngine视图引擎解读及autofac的IOC运用实践
MVC 三大特色 Model.View.Control ,这次咱们讲视图引擎ViewEngine 1.首先看看IViewEngine接口的定义 namespace System.Web.Mvc { ...
- 配置子目录Web.config使其消除继承,用虚拟目录创建多个网站的方法
来源:http://www.wtnzone.com/post/2011/02/20/Set-Web-Config-to-Turn-Inheritance-Off.aspx ASP.NET提供了强大的W ...
- IIS上虚拟目录下站点的web.config与根站点的web.config冲突解决方法
IIS7.5上在站点下部署虚拟目录,访问虚拟目录下的项目提示与父节点配置冲突.,节点与的<system.web>节点与主站点的<system.web>冲突解决方法: 在站点下的 ...
随机推荐
- Javascript技巧之不要用for in语句对数组进行遍历
一,为什么不要用for in语句 jqModal这个jquery插件估计很多人都使用过,在jqModal源码内部,有一个函数为hs,其中有个嵌套循环如下, for(var i in {jqmShow: ...
- 常见Java集合的实现细节
1. Set和Map Set代表一种集合元素无序.集合元素不可重复的集合,Map则代表一种由多个key-value对组成的集合,Map集合类似于传统的关联数组.表面上看它们之间相似性很少,但实际上Ma ...
- Jenkins 打包 java项目时 丢失 配置文件(resource)
使用IDEA开发的spring boot 项目在本地打包运行可以,但是利用Jenkins打包运行提示读取不到配置文件中的变量,打开jar包发现里面没有配置文件.解决方法是在pom中增加如下配置 < ...
- idea下的jsp开发中cannot resolve taglib with uri的解决方法
写jsp难免会用到<c:foreach>标签,于是我在idea上的jsp顶头写下了 <%@ taglib prefix="c" uri= 'http://java ...
- java exception 异常错误记录
//异常:Could not obtain transaction-synchronized Session for current thread 做定时器的时候用ApplicationContext ...
- javascript时间戳转换成yyyy-MM-DD格式
最近开发中需要和后端进日期和时间传值,前后端约定为时间戳的格式,但是前端展示需要展示成年-月-日的格式.就需要进行日期和时间转换格式.自己总结两个方式就行转换. 一,new Date(时间戳).for ...
- 微信小程序开发之animation动画实现
1. 创建动画实例 wx.createAnimation(OBJECT) 创建一个动画实例animation.调用实例的方法来描述动画.最后通过动画实例的export方法导出动画数据传递给组件的ani ...
- SVN添加分支
1.打开版本库浏览视图 2.复制当前版本 3.输入复制的目的目录即可
- C# 学习笔记_类
定义:将成员及方法封装到类中,类的实例则称为对象. 结构:属性,类修饰符,class,类名,{类体} 类修饰符:new,public,protected,internal,private,abstra ...
- 04--C语言文件操作函数大全(超详细)
fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const cha ...