当前位置:编程学习 > C#/ASP.NET >>

CacheDependency问题疑惑

代码中注释的地方很疑惑。
请懂的人出来给我讲解一下。谢谢~~
代码是写在Global.asax文件里的
===========================================================
    private DataTable GetBadLinks()
    {
        DataSet dstBadLinks;
        DataTable dtblBadLinks;
        dtblBadLinks = (DataTable)Context.Cache["badlink"];
        
        if (dtblBadLinks == null)
        {
            dstBadLinks = new DataSet();
            dstBadLinks.ReadXml(Server.MapPath("./xml/BadLinks.xml"));
            dtblBadLinks = dstBadLinks.Tables[0];

            //下面这两句经过测试感觉上和没什么区别

            //Context.Cache.Insert("badlinks", dtblBadLinks, new CacheDependency(Server.MapPath("./xml/BadLinks.xml")));
            Context.Cache["badlinks"] = dtblBadLinks;
        }
        return dtblBadLinks;
    }
===========================================================
根据资料说明使用
Context.Cache.Insert("badlinks", dtblBadLinks, new CacheDependency(Server.MapPath("./xml/BadLinks.xml")));
是在BadLinks.xml文件被修改时,自动更新缓存。
但是我用下面这句也一样,
Context.Cache["badlinks"] = dtblBadLinks;
一修改BadLinks.xml然后刷新浏览器,结果也跟着变了。感觉上也是一修改BadLinks.xml文件就自动更新缓存似的。
搞得我很疑惑两句之间到底有什么区别???~
--------------------编程问答-------------------- 你在Cache.Insert的时候设置一个时间,看有没有变化 --------------------编程问答-------------------- dtblBadLinks   =   (DataTable)Context.Cache["badlink"]; 


前面一句是"badlink",少个s,总是null,因为你后来没有设置值  --------------------编程问答-------------------- 呵呵,钻钻的眼神就是好啊 --------------------编程问答-------------------- 晕啊,除了少打的错误。
谢谢思归啦
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,