VaryByParam,VaryByHeader, VaryByControl, VaryByCustom OutputCache Directive Attributes

本文详细介绍了ASP.NET中用于页面输出缓存的几个关键指令属性:VaryByCustom允许通过自定义逻辑来控制缓存变化;VaryByHeader根据客户端请求头来区分缓存;VaryByParam依据请求参数来确定缓存版本;而VaryByControl则针对用户控件进行缓存差异设置。

http://w3mentor.com/learn/asp-dot-net-c-sharp/asp-dot-net-language-basics/varybyparamvarybyheader-varybycontrol-varybycustom-outputcache-directive-attributes/

VaryByCustom

Vary the output cache either by browser name and version or by a custom string, which must behandled in an overridden version of GetVaryByCustomString().

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestLab._Default" %>
<%@ OutputCache Duration="60" VaryByParam="none" VaryByCustom="prefs"%>

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;

namespace TestLab
{
    public class Global : System.Web.HttpApplication
    {

        public override string GetVaryByCustomString(HttpContext context, string arg)
        {
            if (arg.ToLower() == "prefs ")
            {
                HttpCookie cookie = context.Request.Cookies["Language"];
                if (cookie != null)
                {
                    return cookie.Value;
                }
            }
            return base.GetVaryByCustomString(context, arg);
        }

        protected void Application_Start(object sender, EventArgs e)
        {

        }


VaryByHeader
A semicolon-separated list of strings representing headers submitted by a client.

VaryByParam
A semicolon-separated list of strings representing query string values in a GET request or variables in a POST request. This is a required attribute.

VaryByControl
A semicolon-separated list of strings representing properties of a user control used to vary the output cache (applicable to user controls only).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值