以前一直以为asp.net程序第一次运行速度慢的问题是因为第一次运行时需要编译,虽说自己当时心中也有疑问,但是没有深究。
今天查看微软技术文档,发现了这个秘密:
.net程序第一次运行速度慢的问题原因是第一次运行需要验证数字签名。
当程序里面需要调用到一些 Authenticode Signed的.NET Assembly的时候,它需要连接到外网来验证数字证书。当服务器是无法连接到外网时,这个校验证书的过程需要等到timeout之后才会结束。
解决办法:
1、让电脑能连上网
2、禁止证书的验证过程
禁止证书的验证过程:
如果您的应用程序承载于 IIS,更改下列项之一︰
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet.config
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
注意:在 x64 上的计算机,您必须更改以下任一操作︰
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet.config
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config
注意:由于无人参与部署的程序集被加载,在无接触部署方案中,此配置设置不起作用。
添加如下代码:
<configuration> <runtime> <generatePublisherEvidence enabled="false"/> </runtime> </configuration>
共有条评论 网友评论