ASPNET预编译CSHTML文件

有一个老项目使用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> 

后记

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容