2023年12月17日发(作者:)
摘要:页面首次打开很慢,但别的页面如果没有访问过,去访问也会慢。你也许认为它是在编译ASPX,或者加载一些东西。不过我发现不是这样的。
用过的人都知道吧,页面首次打开很慢。
本来网站第一次启动就慢,但别的页面如果没有访问过,去访问也会慢。
好吧,你也许认为它是在编译ASPX,或者加载一些东西。
我也这样认为过。
不过我发现不是这样的。
目录里面你放多少它加载多少,如果放一些无效的DLL,比如在32位下面放一些纯64位的DLL,就会直接报错;
页面解析非常快,那么转成CS也是一瞬间,编译更不用说,不应该是卡上2-5秒,1秒是可以接受的;
今天搜索了一下,原来是这样的:
.net程序第一次运行速度慢的问题原因是第一次运行需要验证数字签名。
当程序里面需要调用到一些 Authenticode Signed的.NET Assembly的时候,它需要连接到外网来验证数字证书。当服务器是无法连接到外网时,这个校验证书的过程需要等到timeout之后才会结束。
那么要做的就是不让它干这些坏事,总之我从来都不觉得它会老老实实的给你服务。
禁止证书的验证过程:
1、在下面文件中加入下面内容:
32位系统:C:
64位系统:C:
有4.0,甚至4.5的自己多改几个地方,如果是64位的系统,可能需要以管理员身份打开编辑器,再打开这个文件,否则无法保存的。
[xhtml] 查看源代码复制
1.
2.
3.
4.
5.
6.
对"Network Service"帐号下运行的所有程序禁止证书检查
不会的话就忽略吧。
导入以下注册表内容,自己先另存为*.reg文件吧,如果会手工操作的话,就手工来吧。
[txt] 查看源代码复制
1. Windows Registry Editor Version 5.00
2.
3. [HKEY_USERSS-1-5-20SoftwareMicrosoftWindowsCurrentVersionWinTrustTrust ProvidersSoftware Publishing]
4.
5. "State"=dword:00023e00
然后记得重启一下应用程序池(实在不知道,就重启IIS服务),再去看看你的网站,首次加载快吗?其它页面访问快吗?


发布评论