宝哥软件园

ASP NET首次访问缓慢的完美解决方案(MVC、Web Api)

编辑:宝哥软件园 来源:互联网 时间:2021-08-21

问题现象

在访问ASP.NET Web项目时,第一次访问很慢,但是闲置一段时间后再访问就会很慢。

问题原因

这是由IIS回收造成的。再次访问时会初始化,需要时间,所以访问会比较慢,第二次访问会比较快。

解决办法

IIS应用初始化会在网站第一次创建后或相应网站的应用池回收后自动打开新的程序池,启动网站初始化模拟正常请求,使网站始终在线。

在IIS中修改配置

1.修改并启用应用程序池(AlwaysRunning):确保应用程序池在首次创建或回收后可以自动重启并再次运行。

2.修改1740分钟和:小时的空闲超时,无需长时间请求释放资源。

3.修改并启用网站程序预加载(true):确保程序池启动后网站能够响应预加载动作。

我觉得有些博客会把进程模型/空闲超时设置为0或者很长,这样不太好。空闲超时意味着如果您的应用程序不处理或不接受请求,它将进入空闲状态,这种状态可以保持很长时间。在此时间之后,该过程将从内存中删除并释放所有内容。如果设置为0,则不会长时间闲置。如果代码出现内存泄漏,会持续很长时间,完全占用服务器。设置时间太长,长时间不做请求,占用这个内存,有点浪费。根据上面的修改,基本上几秒钟就要开始了。这种修改也适用于像MVC和web api这样的IIS项目

在IIS8之前,第一次访问ASP.NET的项目会很慢

这个问题在以前的程序中可能存在,但是现在基本没有了,因为从Windows 8开始,不再需要签署CSP。Microsoft authentic ode:Microsoft authentic ode的目的是帮助用户确定是谁实际创建了他们正在运行的代码,尤其是在互联网上下载或运行的代码,并验证代码在发布后没有被更改或篡改。例如,一个经过数字签名、恶意篡改,然后在网上重新分发的程序在运行前会向用户显示警告。

问题现象

第一次访问ASP.NET页面的速度很慢,时间可能从几十秒到几分钟不等

问题原因

当程序需要调用一些验证码签名的时候。NET程序集,它需要连接到外部网络来验证数字证书。当服务器无法连接到外部网络时,验证证书的过程直到超时才会结束。

解决办法

本解决方案由微软APAC技术支持中心互联网开发者支持团队https://blogs.msdn.microsoft.com/asiatech提供_ zh-cn/2011/04/24/ASP-net/)。请在以下两个aspnet.config文件中同时添加以下内容。

C: Windows 微软。NET 框架v2.0.50727aspnet.config

C: Windows 微软。NET framework 64 v 2 . 0 . 50727 aspnet . config

?xml版本='1.0 '编码='utf-8 '?配置运行时generatepublisherrevidence enabled=' false '//runtime/configuration修改以下注册表键值并重新启动IIS服务,打开注册表regedit,找到以下地址,并将State修改为00023e00。原来是00023c00 [HKEY _用户 s-1-5-20 软件微软 windows 当前版本 wintrust 信任提供者软件发布]' state'=dword :0023e00

然后记得重新启动应用程序池

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。

更多资讯
游戏推荐
更多+