ASP.NET 第一次加载慢的解决方法

原因

根据网上的资料,第一次加载慢的原因大概有以下几种:

  1. ASP.NET 默认是动态编译的,第一次时间都浪费在编译加载上了。
  2. 第一次运行需要验证数字签名。
  3. Entity Framework初始化造成的。在首次使用时,Entity Framework会根据数据库中的信息在内存生成一个映射视图(mapping views),操作非常耗时。

解决方案

目前还没有一个统一的,解决方案,具体的可以尝试以下几种方案:

  1. 预编译,参考ASP.NET 网站预编译概述
  2. 去掉数字签名,参考关于asp.net程序第一次运行速度慢的问题解决办法
  3. 使用“预加载模块”,参考IIS 8.0 Application Initialization

参考资料

  1. http://www.allytel.com/_app_data/news/2013/news_20130818_121818.aspx
  2. http://q.cnblogs.com/q/59572/
  3. http://q.cnblogs.com/q/45228/
  4. http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization (IIS 8)
    a. 安装预加载模块
    b. 应用程序池-高级设置-启动模式:AlwaysRunning
    c. 应用程序池-高级设置-进程模型-闲置超时:1740 (分钟)
    d. 应用程序-高级设置-常规-预加载已启用:True
  5. http://www.cnblogs.com/shanyou/archive/2010/12/21/1913199.html (IIS 7.5)
  6. http://www.cnblogs.com/chehaoj/p/3432100.html (IIS 7.5)
  7. http://blog.csdn.net/rnhhb/article/details/46625097 (IIS 7.5)
  8. http://blog.hackroad.com/operations-engineer/windows_server/2633.html (IIS 7.5)
  9. http://www.cnblogs.com/wangjinsns/p/4015762.html?utm_source=tuicool&utm_medium=referral (ServiceAutoStartProvider)
  10. http://www.cnblogs.com/dudu/p/entity-framework-warm-up.html (Entity Framework)

经本人测试,方案1和方案2,对于.NET 4.5 IIS8 已经无效,使用方案3解决此问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端知识体系http://www.cnblogs.com/sb19871023/p/3894452.html 前端...
    秋风喵阅读 12,519评论 7 163
  • 遍踏群山,凭栏处,潇洒成卷落乌啼,怒放千堆雪。怎奈何,风消云淡,销了路人魂,可堪回首,奈若何。木格轩窗,思...
    小爱的温暖阅读 234评论 0 0
  • The world breaks everyone, and afterward many are strong ...
    贝小鱼阅读 8,277评论 2 43
  • 上大学的时候开通了百度空间,在上面也是乱七八糟的写了一些东西。 如今,百度空间早已关闭,那些乱七八糟的东西还躺在了...
    紫瞳咔咔阅读 101评论 0 0