asp.net的缓存机制
缓存是把应用程序中的需要频繁、快速访问的数据保存在内存中的编程技术,通常用来提高网络的响应速度。在ASP.NET中使用Cache类来管理缓存。下面详述控件级数据缓存功能和页面级数据缓存功能的实现:
(1)数据库缓存依赖
数据库缓存依赖由SqlCacheDependency类管理;
数据库缓存依赖的优点:
1、提高数据呈现速度,每次获取数据后,系统根据用户设置的缓存时间,在有效期内,将数据保存在本地,用户请求数据结果时,系统不是从数据库中获取,而是直接从本地获取,从而提高了数据的获取速度。
2、单独缓存页面中的某一控件,而不影响其他数据的变化。为了保证页面中数据的准确性,通常只需要缓存数据控件,其他控件的数据时随时变化的。
3、数据便发生更改时,自动删除缓存项,并向Cache中添加新版本的项,这是数据库缓存依赖最重要的一个特点。
4、与SQL缓存依赖项关联的数据库操作比较简单,不会给服务器带来很高的处理成本。
--------------------------------------------------------------------------------
实例:
(1)开启页面调试功能:
新建一个网站,点击调试(或按F5),跳出“未启用调试对话框”,默认点击“确定”(不跳出对话框则作罢)。关闭空白网页,可以看到解决资源管理器出现了web配置文件,打开,在“System.web”节点下,添加开启数据库缓存依赖的代码如下:
view plaincopy to clipboardprint?
<caching>
<sqlCacheDependency enabled="true" pollTime="1000">
</sqlCacheDependency>
</caching>
<caching>
<sqlCacheDependency enabled="true" pollTime="1000">
</sqlCacheDependency>
</caching>
其中:enabled属性表示是否开启数据库缓存依赖;polltime属性表示轮询数据库表的更改频率,单位:ms;不能设置小于500ms;
(2)配置缓存依赖的数据库
为保证数据库发生变化,应用程序能够及时更新缓存版本,必须在配置文件中指明程序所依赖的数据库,配置如下:
在web.config文件的“configuration”节点下,添加如下代码:
view plaincopy to clipboardprint?
<connectionStrin
相关文档:
先建个html模版页(template.htm):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$title</title>
& ......
第一种方法是对一个aspx页面生成html文件,先对服务器发送请求aspx页面,取服务器返回的html流,写到一个html文件里,aspx页面显示的是什么,生成的html页面就是什么
1、asp方法:
sub createHTML
dim xmlhttp,strhtml,objAdoStream,i,myurl
set xmlhttp=server.CreateObject("Microsoft.XMLHTTP")
&nb ......
1.
此处提供的代码用来实现当asp.net
页面中的某个Button
被点击后disable
掉该页面中所有的Button
,从而防止提交延时导致的多次提交。基于之前的onceclickbutton
脚本.
//ASP.NET
中防止页面多次提交的代码:javascript< script
language="javascript"> < !-- function dis ......
影响ASP.Net应用性能的配置
1、删除不必要的HttpModule,每增加一个HttpModule,每个请求处理就多一点开销。
如:
<httpModules>
& ......
配置文件可用来存放一些多次用到的常量数据,如连接串:
<appSettings>
<add key="connStr1" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
<add key="connStr2" value="App_Data\test.mdb"/>
</appSettings>
这个配置数据库连接串
使用示例:
public class DBCo ......