原文:http://www.afuhao.com/article_articleId-219.shtml
摘要:ASP.NET页面首次打开很慢,但别的页面如果没有访问过,去访问也会慢。你也许认为它是在编译ASPX,或者加载一些东西。不过我发现不是这样的。

用过ASP.NET的人都知道吧,页面首次打开很慢。

本来网站第一次启动就慢,但别的页面如果没有访问过,去访问也会慢。

好吧,你也许认为它是在编译ASPX,或者加载一些东西。

我也这样认为过。

不过我发现不是这样的。

1.bin目录里面你放多少它加载多少,如果放一些无效的DLL,比如在32位下面放一些纯64位的DLL,就会直接报错;

2.aspx页面解析非常快,那么转成CS也是一瞬间,编译更不用说,不应该是卡上2-5秒,1秒是可以接受的;

.net程序第一次运行速度慢的问题原因是第一次运行需要验证数字签名。

当程序里面需要调用到一些 Authenticode Signed的.NET Assembly的时候,它需要连接到外网来验证数字证书。当服务器是无法连接到外网时,这个校验证书的过程需要等到timeout之后才会结束。

那么要做的就是不让它干这些坏事,总之我从来都不觉得它会老老实实的给你服务。

禁止证书的验证过程:
1、在下面aspnet.config文件中加入下面内容: 
    32位系统:C:\Windows\Microsoft.Net\Framework\v2.0.50727\aspnet.config
    64位系统:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet.config

有4.0,甚至4.5的自己多改几个地方,如果是64位的系统,可能需要以管理员身份打开编辑器,再打开这个文件,否则无法保存的。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <runtime>
  4. <generatePublisherEvidence enabled="false"/>
  5. </runtime>
  6. </configuration>

对"Network Service"帐号下运行的所有程序禁止证书检查

不会的话就忽略吧。

导入以下注册表内容,自己先另存为*.reg文件吧,如果会手工操作的话,就手工来吧。

Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing]

"State"=dword:00023e00

然后记得重启一下应用程序池(实在不知道,就重启IIS服务),再去看看你的网站,首次加载快吗?其它页面访问快吗?

小技巧-WEB API第一次加载很慢的更多相关文章

  1. Web Api试图加载格式不正确的程序,解决方法

    Web Api试图加载格式不正确的程序,错误如下: 问题原因: 出现上述问题的原因是,所加载的程序集中有32位的,也有64位的,IIS 7 程序池 在Windows下.Net FrameWork是64 ...

  2. web网站第一次加载慢的解决方法

    找到对应的应用程序池  将高级设置里的 闲置超时改为0

  3. Ionic进行PC端Web开发时通过脚本压缩提高第一次加载效率

    1. 问题 1.1. 问题上下文描述: 基于Ionic进行PC端的Web应用开发: 使用Tomcat作为最终服务发布容器. 1.2. 问题描述: 编译后main.js的大小为4-6MByte.(集成第 ...

  4. web.xml的加载过程配置详解

      一:web.xml加载过程 简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有 ...

  5. web相关文件加载顺序

    WEB相关文件的加载顺序   一. 1.启动一个WEB项目,WEB容器会先去读取它的配置文件web.xml,读取<context-param>和<listener>两个节点. ...

  6. 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)

    回顾 上一节我们搭建了游戏的骨架,添加了四个游戏场景,分别是加载.开始.游戏.结束.那么这一节我们来介绍加载这个场景,顺带丰富一下各个场景的基本内容. Phaser.Loader Phaser框架自带 ...

  7. web.xml文件加载顺序

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  8. web.xml组件加载顺序

    在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要. 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前. 经过查阅和Debug发现, web.x ...

  9. AngularJS进阶(三十)AngularJS项目开发技巧之图片预加载

    AngularJS项目开发技巧之图片预加载 绪 项目(移动端采用Ionic 框架)开发完毕,测试阶段发现移动APP首页的广告图片(图片由服务器端返回相应url地址)很难加载,主要原因还是网速.如下图左 ...

随机推荐

  1. Object.prototype.hasOwnProperty与Object.getOwnPropertyNames

    Object.prototype.hasOwnProperty() 所有继承了 Object 的对象都会继承到 hasOwnProperty 方法.这个方法可以用来检测一个对象是否含有特定的自身属性: ...

  2. shell之九九乘法表

    echo -n 不换行输出   $echo -n "123" $echo "456"   最终输出  123456   而不是 123 456   echo - ...

  3. 使用ADO.NET查询和操作数据库

    String和StringBuilder 语法: //声明一个空的StringBuilder对象 StingBuilder对象名称 = new   StringBuilder(); //声明一个Str ...

  4. Android中的layout_gravity和gravity的区别

    在Android的布局中,除了padding和margin容易弄混之外,还有layout_gravity和gravity.按照字面意思来说,layout_gravity就是相对于layout来设置的. ...

  5. Struts存取数据

    ValueStack举例分析: Action存 Jsp页面取,用于数据展示 存数据三种方式总结 存数据->map 或 root 展示数据->Strusts标签   这个玩意用着很舒服,能让 ...

  6. C语言作业第二次总结

    1.作业亮点 1.1作业整体概况 本次作业全体同学能够按时完成作业,且大部分同学的作业体现了自己的思路和方法,具备了一定变成能力. 1.2推荐博客 林岳-代码注释清晰,详细.->博文 王艺斌-算 ...

  7. fflush(stdin)与fflush(stdout)

    1.fflush(stdin): 作用:清理标准输入流,把多余的未被保存的数据丢掉.. 如: int main() { int num; char str[10]; cin>>num; c ...

  8. Flask 扩展 表单

    pip install flask-wtf 一个简单的表单 from flask_wtf import Form from wtforms import StringField from wtform ...

  9. Hibernate之HQL

    SQL语句的DML操作不外乎:增,删,改,查 增加 :  save(),persist() 删除 :   delete() 改动 :   update() 查询  :  get() ,load() 其 ...

  10. linux下安装配置jdk(解压版)

    在linux下登录oracle官网,下载解压版jdk    传送门 系统默认下载到"下载"目录中 创建要将该文件解压的文件夹: 其中 -p 参数代表递归创建文件夹(可以创建多级目录 ...