ASP.NET第一次访问慢的解决方法(MVC,Web Api)
问题现象
访问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 Authenticode:Microsoft Authenticode旨在帮助用户确保谁实际创建了他们正在运行的代码,特别是对于在Internet上下载或运行的代码,并验证代码在发布后未被更改或篡改。例如,经过数字签名,恶意篡改然后在线重新分发的程序将在运行之前向用户显示警告。
问题现象
ASP.NET页面第一次访问的时候很慢,时间可以持续几十秒到几分钟
问题原因
当程序里面需要调用到一些Authenticode Signed的.NET Assembly的时候,它需要连接到外网来验证数字证书。当服务器是无法连接到外网时,这个校验证书的过程需要等到timeout之后才会结束。
解决办法
这个解决方案是由微软APAC技术支持中心 Internet Developer Support Team提供 https://blogs.msdn.microsoft.com/asiatech_zh-cn/2011/04/24/asp-net/)
请同时在以下两个aspnet.config文件中加入以下内容。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet.config
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet.config
<?xml version="1.0" encoding="utf-8"?> <configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
修改以下注册表键值并重起IIS服务,打开注册表regedit,找到以下地址,修改State为00023e00,原先的是00023c00
[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing]
"State"=dword:00023e00
然后记得重启一下应用程序池
ASP.NET第一次访问慢的解决方法(MVC,Web Api)的更多相关文章
- 解决ASP.Net第一次访问慢的处理(IIS8)
本篇经验以IIS8,Windows Server 2012R2做为案例. IIS8 运行在 Windows Server 2012 and Windows 8 版本以上的平台上. IIS中应用程序池和 ...
- ASP.NET对路径"C:/......."的访问被拒绝 解决方法小结 [转载]
问题: 异常详细信息: System.UnauthorizedAccessException: 对路径“C:/Supermarket/output.pdf”的访问被拒绝. 解决方法: 一.在IIS中的 ...
- 经历:asp.net oracle 部署问题以及解决方法
原文:[原创]经历:asp.net oracle 部署问题以及解决方法 精简的美丽...... 一.环境 开发环境 win7 64bit Vs2010 ...
- C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法
最近在做项目的时候需要操作ftp进行文件的上传下载,但在调用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的时候总 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- ASP.NET MVC Web API Post FromBody(Web API 如何正确 Post)
问题场景: ASP.NET MVC Web API 定义 Post 方法,HttpClient 使用 JsonConvert.SerializeObject 传参进行调用,比如 Web Api 中定义 ...
- 实战 ASP.NET MVC Web API
实战 ASP.NET MVC Web API Web API 框架基于 ASP.NET MVC 框架开发,是一个面向 Http 协议的通信框架.相对于 WCF 而言,Web API 只面向于 Http ...
- [译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序
本文转自:http://www.skcode.cn/archives/281 本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建 ...
- 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...
随机推荐
- DELPHI7中 TObjectList sort排序问题
网上收集了一点东西 TOBJECTLIST里,有自带的排序功能 TLIST,TSTRINGLIST也有,MS是一样的 SORT里有一个参数: Compare:TListSortCompare 那我们先 ...
- style的继承
第一种方式:瞄准控件的基类 如下例所示,继承ContentControl的控件,都可以使用这个Style <Window.Resources> <Style x:Key=" ...
- WPF Button控件模板
<Window x:Class="ControlTemplateDemo.MainWindow" xmlns="http://schemas.m ...
- JAVASCRIPT高程笔记-------第 七章 函数表达式
7.1递归 经典递归例子 function factorial(num){ if(num <= 1){ return 1; }else{ return num * factorial(num - ...
- Assertion failure in UITableViewCell layoutSublayersOfLayer解决办法
iOS6 设备在更新UITableViewCell的时候遇到了 Assertion failure in -[UITableViewCell layoutSublayersOfLayer:], /So ...
- VMNET 工作站
nattunnel 快速连接内网电脑 内网穿透.内网映射,支持微信小程序本地开发 支持WEB.远程桌面.多种TCP协议 官方主页:http://www.vmnet.cc 用途 一个可以快速连接局域网中 ...
- layabox pc app web同步发布的工具
http://layabox.com/ 或者vs + unity3d开发游戏
- mysql 更改root密码
mysql 更改root密码,有很多种,网上也有很多记录,这里只是做个记录,以后可以看看,只记录两种自己常用的方法. 1.改表法,登录到数据库,切换到:mysql数据库,update user set ...
- ASP.NET获取客户端、服务器端基础信息
1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名:Page.Request.UserHostN ...
- A simple in-process HTTP server for UWP
原文 http://www.dzhang.com/blog/2012/09/18/a-simple-in-process-http-server-for-windows-8-metro-apps 简单 ...