ASP.NET网站第一次访问慢的解决方法

所属分类: 网络编程 / ASP.NET 阅读数: 1483
收藏 0 赞 0 分享

本篇经验以IIS8,Windows Server 2012R2做为案例。

IIS8 运行在Windows Server 2012 and Windows 8 版本以上的平台上。

IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下。

默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动回收掉。

IIS8 自带应用程序初始化工具包,IIS7.5要搜索独立安装包进行安装,低于7.5的暂时不支持IIS自动初始化。

本篇经验中的方法能解决ASP.Net第一次访问慢,间隔一段时间后,又访问慢的问题。

方法/步骤

安装IIS应用程序初始化功能,如下图所示:

编辑网站对应应用程序池启动模式,操作路径:应用程序池 -> 网站对应程序池 -> 右键,高级设置 ->选择,启动模式AlwaysRunning,如下图所示:

开启对应网站预加载,操作路径:网站 -> 对应网站 -> 右键,高级设置 ->选择,预加载已启用 True,如下图所示:

设置配置编辑器,编写默认预加载请求,打开配置编辑器,如下图所示:

在左上角配置节点选择system.webServer/applicationInitialization,其他配置如红圈中,如下图所示:

在集合中添加一个初始化请求地址(用于IIS初始化默认请求地址),添加完成后,点击配置界面右侧的应用按钮,并重启应用程序池和网站,如下图所示:

总结:

1、原理说明:IIS应用初始化会在网站第一次创建后或者对应网站的应用程序池回收后,自动开启新程序池,并启动网站初始化,模拟一次正常请求,使网站一直处于在线状态。

(此流程可以借助第三方工具或者服务模拟网站请求达到相同目的)

2、配置说明:

 (1)、启用应用程序池(AlwaysRunning):保证应用程序池在第一次创建或者被回收后,能自动再次重启运行。

 (2)、启用网站程序预加载(true):保证程序池在启动过后,网站能响应预加载动作。

 (3)、配置网站默认预加载路径:保证程序在程序池启动后,网站预加载过程中,能快速编译程序并进驻内存,保证请求快速响应。 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

ASP.Net 之Datalist删除功能详解附代码

ASP.Net 之Datalist删除功能详解附代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

ASP.NET(C#)验证数字的两种方法

ASP.NET(C#)验证数字的两种方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

此页的状态信息无效,可能已损坏 的处理办法及原因分析

此页的状态信息无效,可能已损坏 的处理办法及原因分析,需要的朋友可以参考一下
收藏 0 赞 0 分享

MultiLine 换行后实现读取不换行的具体思路

输入内容中有换行,保存到数据库,直接查看感觉没有换行,但查询结果“以文本格式显示结果”你就会发现 其实是有换行的,下面与大家分享下具体的解决方法
收藏 0 赞 0 分享

swfupload ajax无刷新上传图片实例代码

在这里上传图片就需要用到ajax无刷新上传图片,这里面包含的东西不是一点半点。这里用到的是一个插件swfupload实现无刷新上传图片,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

静态gb2312编码在项目传值出现中文乱码现象

参考的美工静态页面是gb2312格式的,当此编码拿到项目中后,utf-8编码的系统,加载页面时,会出现样式问题,比如不能正常居中等
收藏 0 赞 0 分享

System.Timers.Timer定时执行程序示例代码

如果是某个逻辑功能的定时,可以将code放到逻辑功能的类的静态构造函数中,在该逻辑类第一次执行时,静态构造函数会被调用,则定时自然启动
收藏 0 赞 0 分享

分享下Asp.Net面试题目及答案集合

这篇文章主要是总结asp.net开发人员在面试过程中常遇到的一些问题小结,需要的朋友可以参考下
收藏 0 赞 0 分享

给自定义Web控件添加事件(前后台代码)

给自定义控件(Web Control)添加事件具体前后台代码如下,感兴趣的朋友可以参考下哈
收藏 0 赞 0 分享

ASP.NET过滤器的应用方法介绍

ASP.NET过滤器的应用方法介绍,需要的朋友可以参考一下
收藏 0 赞 0 分享
查看更多