首页 新闻 会员 周边

asp.net 缓存问题。

0
[待解决问题]

最近在看sqlcachedependency 缓存方面的内容。有些问题不太明白。想请教下前辈。
web.config 里面的配置 是用来干什么的。他跟 我前台编写程序又什么关系。web.config里面的这个配置
<add connectionStringName="NorthwindConnectionString" name="CMS_Content" /> 他里面的 name 只 用来干什么 的 可以水边写吗。或者他一定要是 对应数据库里面的某个表明。
 当我用下面代码执行的时候。
      public DataView getFromCache(string Key)
        {
            if (HttpRuntime.Cache[Key] == null)
            {
                //取数据

                DataView dv = BLL.Contents.GetContentTable(1, 10).DefaultView;
               
                //启用更改通知
                SqlCacheDependencyAdmin.EnableNotifications(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString);
                //连接到 SQL Server 数据库并为 SqlCacheDependency 更改通知准备数据库表
                SqlCacheDependencyAdmin.EnableTableForNotifications(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString, "CMS_Content");
                //制定缓存策略
                SqlCacheDependency scd = new SqlCacheDependency("CMS_Content", "CMS_Content");
                //插入缓存
                HttpRuntime.Cache.Insert(Key, dv, scd);
                source = "Database";
                return dv;
            }
            else
            {
                //从缓存中取值
                source = "cache";
                return (DataView)HttpRuntime.Cache[Key];

            }
        }
可以正常完成。 我的key 就是web.config 里面的CMS_Content 这个。 但是 如果我把key改成 其他的值。好像也一样可以。也没有不正常的现象。 这就让我感觉有点奇怪了。。不知道为什么。这里数据库除了 当数据发送改变时 就清空之前的缓存外。还有其他作用吗。不太理解里面的关系。希望得到指点。谢谢。

yzy的主页 yzy | 菜鸟二级 | 园豆:317
提问于:2010-12-23 16:16
< >
分享
所有回答(1)
0

Cache.Insert(Key, dv, scd);

这个key是保持 Cache集合对象唯一的标志,并不代表表名。

web.config 中的 name 相当于 <connectionStrings>集合中的一个key 也是代表唯一的标志,也不代表表名

慧☆星 | 园豆:5640 (大侠五级) | 2010-12-24 13:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册