ASP.NET 2.0缓存 (转)
一、页输出缓存
1.设置 ASP.NET 页缓存的两种方式
1.1 以声明方式设置 ASP.NET 页的缓存
以声明方式设置 ASP.NET 页的缓存的方法是在页中使用 @ OutputCache 指令,它的常用属性如下:
程序代码
<%@ OutputCache Duration="" VaryByParam="" VaryByControl="" VaryByHeader="" VaryByCustom="" CacheProfile="" Location="" %>
Duration:设置缓存到期时间,单位:秒。
VaryByParam:可用来使缓存输出因查询字符串而异,多个查询字符用分号隔开。
VaryByControl:可用来使缓存输出因控制值而异。
VaryByHeader:可用来使缓存输出因请求的 HTTP 标头而异。
VaryByCustom:可用来使缓存输出因浏览器类型或您定义的自定义字符串而异。
CacheProfile:结合配置文件使用。
Location:设置页的可缓存性,值有Any,Client,Downstream,None,Server,ServerAndClient。
注:在使用 @ OutputCache 指令时,必须包括一个 VaryByParam 属性,否则将出现分析器错误。如果不希望使用 VaryByParam 属性提供的功能,请将它的值设置为“None”。
@ OutputCache 指令使用示例
①使用参数对页的各个版本进行缓存:
程序代码
<%@ OutputCache Duration="60" VaryByParam="City" %>
注:如果要根据多个参数改变输出缓存,请包括以分号 (;) 作为分隔符的参数名称的列表;如果要根据所有的参数值来改变缓存,请将VaryByParam 属性设置为星号 (*);如果不要根据参数值来改变缓存,请将 VaryByParam 属性设置为"None"。
②使用 HTTP 标头对某页的各个版本进行缓存:
程序代码
<%@ OutputCache Duration="60" VaryByParam="None" VaryByHeader="Accept-Language" %>
注:如果要根据多个标头改变缓存的内容,请以分号 (;) 作为分隔符包括标头名称的列表;如果要根据所有标头值改变缓存的内容,请将VaryByHeader 属性设置为星号 (*)。
③使用请求浏览器缓存页的各个版本:
程序代码
<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
④使用自定义字符串对页的各个版本进行缓存:
程序代码
<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="minorversion" %>
注:还要在应用程序的 Global.asax 文件中,重写 GetVaryByCustomString 方法以指定自定义字符串的输出缓存行为。参考:http://msdn2.microsoft.com/zh-cn/
相关文档:
Page_Load--页面加载事件.
Page.IspostBack判断是否第一次加载。
每次响应服务信息(既客户请求ASP.NET页面-ASPX文件或Web服务-
ASMX文件)就加载一次(执行一次Page_Load)。
加载的时候并不是每次多编译一次代码文件,因为:每一次请求
ASPX文件时并不是多要进行一次编译,而是第一次执 ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StartClientCaching();
......
1 public partial class FileDownLoad : System.Web.UI.Page
2 {
3 //提供下载的文件,不编码的话文件名会乱码
&nb ......
1. 添加CSS样式: Style style = new Style();
style.ForeColor = System.Drawing.Color.Navy;
  ......