ASPNET预编译CSHTML文件

作者: 灭蒙鸟 | 来源:发表于2019-06-27 14:18 被阅读1次

有一个老项目使用Aspnet MVC4开放的.每次发布后,第一次访问都特别慢, 简单研究发现第一次访问某个cshtml(View)文件,都会编译.这个导致第一次加载特别慢.
简单研究后发现在项目中增加MvcBuildViews后,会预编译号所有的Cshtml文件.
.csProj文件增加如下配置.(注意,以前的项目文件需要unload项目后,才能编辑csproj文件, 或者用第三方编辑器直接编辑.csproj文件)

 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <MvcBuildViews>False</MvcBuildViews>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <MvcBuildViews>True</MvcBuildViews>
  </PropertyGroup>

以上的配置在Debug时关闭了MvcBuildViews,只在Release打开. 毕竟编译View还是要一点时间的.

注意如果EnableUpdatable是True,会导致预编译失败.

<EnableUpdatable>false</EnableUpdatable> 

后记

后来发现预编译效果一般, 老项目第一次访问慢主要是初次启动时,会缓存大量信息造成. 不过预编译还是提高了一点效率.

相关文章

  • ASPNET预编译CSHTML文件

    有一个老项目使用Aspnet MVC4开放的.每次发布后,第一次访问都特别慢, 简单研究发现第一次访问某个csht...

  • 如何让asp.net core mvc发布时候不编译cshtml

    为了避免运行时编译cshtml造成的性能问题,ASP.NET Core MVC项目在发布的时候默认会把cshtml...

  • TagHelpers简单使用

    1、在Views文件夹下面新建 Razor视图导入 文件 _ViewImports.cshtml 2、在_View...

  • 通过Docker部署OpenAuth.Core(二)

    上一篇文章仅使用了一个Dockerfile用于编译所有项目文件,然后使用微软默认的aspnet镜像来运行三个独立的...

  • dyld流程分析

    编译流程 在开始分析dyld之前,我们先看下分析下可执行文件的整个编译流程: 如上图所示,我们编写的源文件,会在预...

  • C#【唐老狮】反射

    反射 反射概念和关键类TYpe 程序集经由编译器编译得到,进一步编译执行的中间产物dll文件扩展:C语言编译过程预...

  • iOS关于pch文件

    pch文件是什么 预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件里。这些预...

  • WebApi—CORS跨域

    添加nuget包:microsoft.aspnet.webapi.cors在WebApiConfig.cs文件中配...

  • 关于水晶报表无法显示问题

    1.服务器端aspnet_client文件夹丢失,添加即可

  • Razor简介

    Razor简介 Razor引擎能够解析.cshtml文件中编写的C#脚本,APS.NET Core内置了对Razo...

网友评论

    本文标题:ASPNET预编译CSHTML文件

    本文链接:https://www.haomeiwen.com/subject/ysfrcctx.html