码迷,mamicode.com
首页 > 其他好文 > 详细

Entity Framework启动优化

时间:2015-10-12 14:30:15      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:

EF+MVC的网站在第一次打开的时候,速度会很慢;闲置一段时间再次打开,重启应用程序池都会很慢。

 

程序更新,应用程序池重启、回收后,需要重新加载程序文件。

 

1、安装Application Initialization

这是IIS8的内置功能,对于IIS7.5,微软提供了一个扩展包来支持这个功能。

Application Initialization Module for IIS 7.5

http://www.iis.net/downloads/microsoft/application-initialization

这个扩展并没有提供操作界面,需要操作界面的话,需要下载第三方插件ApplicationInitializationInstaller

配置应用程序池的StartMode为AlwaysRunning

配置站点开启Preload和DoAppInitAfterRestart

 

2、ngen生成EF的本地镜像

EF从版本6开始不再默认随.Net Framework安装,程序启动时,EF通过just-in-time compiler将MSIL编译成本地代码,存储在内存中。

使用cmd命令提示符进入项目dll所在目录,一般为bin,运行ngen

32bit

%WINDIR%\Microsoft.NET\Framework\v4.0.30319\ngen install EntityFramework.SqlServer.dll

64bit

%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen install EntityFramework.SqlServer.dll

 

3、禁用_MigrationHistory

Code First首次访问EF时会访问_MigrationHistory,检查数据库与实体类是否匹配,以保证EF可以正常运行。

Application_Start中加代码Database.SetInitializer<MyContext>(null);来禁用这个功能。

 

Entity Framework启动优化

标签:

原文地址:http://www.cnblogs.com/pzpzpop/p/4871461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!