OutputCache 配置用cookie

<%@ OutputCache CacheProfile="CacheConfig"%>

CacheProfile在web.config里指定

system.web配置节下

duration,varyByParam必须的,varyByParam根据urlget参数缓存,多个参数间用,分隔

varyByCustom自定义缓存参数,如cookie,假如想缓存随某个cookie变化,可以这样写

global.asax中增加代码

public override string GetVaryByCustomString(HttpContext context, string arg)

    {

        if (arg.ToLower() == cookieName)

        {

            HttpCookie cookie = context.Request.Cookies[cookieName];

            if (cookie != null)

                return cookie.Value;

            return "不存在cookie时程序处理的默认值";

        }

        return base.GetVaryByCustomString(context, arg);

    }

 <caching>

      <outputCacheSettings>

        <outputCacheProfiles>

          <!--duration以秒为单位-->

          <add name="CacheConfig" duration="3600" varyByParam="none" varyByCustom="cookieName"/>

        </outputCacheProfiles>

      </outputCacheSettings>

    </caching>

你可能感兴趣的:(cookie,OutputCache)