国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

根據自定義字符串來緩存(部分)頁面

2019-11-18 17:19:33
字體:
來源:轉載
供稿:網友

比如說網站有一個Header.ascx用戶控件,每個頁面都調用此控件作為"頁面頭部",直接可以緩存此用戶控件就可以提交性能,不過,現在此Header.ascx用戶控件要顯示登陸用戶的登陸名,所以,就不能直接用下面這種緩存方式:

<% @ OutputCache Duration = " 86400 "  VaryByParam = " None "   %>
這個時候就可以利用"根據自定義字符串來緩存頁"這種方法了,具體如下:

<%@ OutputCache Duration="86400" VaryByParam="None" VaryByCustom="HeaderPageKey" %>
然后在Global類里面重寫方法 GetVaryByCustomString

        public override string GetVaryByCustomString(HttpContext context, string custom)
        {
            if(custom=="HeaderPageKey")
            {
                //緩存 Header.ascx 控件
                if(context.Request.IsAuthenticated)
                {
                    return context.User.Identity.Name;
                }
                else
                {
                    return "NoAuthenticated_User";
                }
            }
            return base.GetVaryByCustomString (context, custom);
        }
用戶如果沒有登陸,那么緩存一個版本,如果已經登陸,那么根據登陸名的不同緩存另外一個版本,哈哈,為每個用戶都緩存了一個版本,這樣做,應該說不是很好的解決方法。

上述緩存技術可以參考 http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconcachingversionsofpagebasedonparameters.asp

另外,MSPetShop3.0里面也用到了這樣的緩存方法,根據Request.Querystring以及是否登陸來緩存不同的版本,不過,這個緩存好像默認沒有開啟。


       
出處:卡卡.net


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆林市| 沙雅县| 泗水县| 巧家县| 砚山县| 凌源市| 色达县| 巫山县| 湘潭市| 清涧县| 峨眉山市| 临邑县| 冕宁县| 定南县| 双辽市| 富顺县| 怀来县| 汉源县| 盐城市| 佛冈县| 平度市| 宁蒗| 启东市| 三台县| 玛纳斯县| 连江县| 通城县| 略阳县| 渝中区| 托里县| 阿瓦提县| 佛冈县| 石楼县| 丁青县| 铜陵市| 衡山县| 名山县| 宁明县| 沾化县| 辽阳市| 嘉善县|