关闭

移除apsx视图引擎,及View文件夹下的web.config的作用

1676人阅读 评论(0) 收藏 举报
分类:

<>

使用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里面的配置不需要我们手动的更改任何东西,也不能删除


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Asp.net中web.config配置文件最全面详解

web.config是一个XML文件,用来储存Asp.net Web应用程序的配置信息,包括数据库连接字符、身份安全验证等,可以出现在Asp.net Web应用程序服务器上的任何目录中,每个Web.c...
  • u011966339
  • u011966339
  • 2017-03-22 09:52
  • 2002

WebConfig配置文件详解

今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: xml version="1.0"?> 注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具...
  • CsethCRM
  • CsethCRM
  • 2015-01-16 14:53
  • 4298

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。新建一个web运用程序,项目结构如下:其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只用通过登录并授权后...
  • qingYun1029
  • qingYun1029
  • 2011-05-07 17:11
  • 4108

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。 新建一个web运用程序,项目结构如下:   其中Manager文件夹的ASP.NET页面属于管理员操作页面,所有只...
  • nuptsv_ice
  • nuptsv_ice
  • 2014-06-26 10:15
  • 584

通过web.config文件配置项目中文件夹的访问权限

该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。 新建一个web运用程序,项目结构如下:   其中Manager文件夹的ASP.NET页面属于管理员...
  • happymagic
  • happymagic
  • 2011-09-14 17:46
  • 18007

asp.net项目中通过Web.config配置文件及文件夹的访问权限!

描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问。如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面...
  • qingYun1029
  • qingYun1029
  • 2011-02-14 20:11
  • 13086

asp.net的登录验证方法 Web.config 的作用范围 配置

如何运用 Form 表单认证 ASP.NET 的安全认证,共有“Windows”、“Form”、“Passport”、“None”四种验证模式。“Windows”与“None”没有起到保护的作用...
  • sdh_down
  • sdh_down
  • 2012-11-08 11:50
  • 624

源码学习 : View视图 生命周期及各方法的作用(1)

2016年起,开始源码的整个学习过程.从事安卓开发2年有余。对于源码的认识,感觉还是很皮毛,之前做项目,只注重功能的实现,而并不注重原理。打算从现在开始,每天研究下源码的实现, 及其相关的设计模式。一...
  • qq_14859923
  • qq_14859923
  • 2016-01-21 09:56
  • 408

Esper事件处理引擎_10_EPL 语法___View 窗口视图条件语法

官方地址:http://www.espertech.com Esper 事件引擎栏目:http://blog.csdn.net/xiaohulunb/article/category...
  • u011278496
  • u011278496
  • 2014-08-12 16:16
  • 1725

Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图

在《使用Spring Boot和Kotlin创建RESTfull API》一文中,我们完成了一个简单的RESTful 服务,体验了Spring Boot 与 kotlin结合的神力,但是往往我们也...
  • QuanKeCai
  • QuanKeCai
  • 昨天 16:00
  • 6
    个人资料
    • 访问:858104次
    • 积分:13073
    • 等级:
    • 排名:第1199名
    • 原创:472篇
    • 转载:26篇
    • 译文:2篇
    • 评论:75条
    最新评论