首页 新闻 搜索 专区 学院

关于依赖数据库缓存的问题

0
悬赏园豆:20 [已解决问题] 解决于 2016-01-04 10:34

今天学习了一下数据库缓存的问题,在VS中调试都是可以正常使用的,可是发布以后,总是不成功,提示:无法连接到 SQL 数据库“OnLineTest”进行缓存依赖项轮询

请高手指点,万分感谢。

具体的配置如下:

设置如下:

web.config:

    <caching>
   <sqlCacheDependency enabled="true" pollTime="6000">
    <databases>
     <add name="OnLineTest" connectionStringName="connStringSqlCache"/>
    </databases>
   </sqlCacheDependency>
  </caching>

 

开启通知命令:

          cd C:\Windows\Microsoft.NET\Framework\v2.0.50727
        aspnet_regsql -C "Data Source=YXSHU-PC;Initial Catalog=OnLineTest;Integrated Security=True" -ed -et -t "Authority"
        aspnet_regsql -C "Data Source=YXSHU-PC;Initial Catalog=OnLineTest;Integrated Security=True" -ed -et -t "UserAuthority"
        aspnet_regsql -C "Data Source=YXSHU-PC;Initial Catalog=OnLineTest;Integrated Security=True" -ed -et -t "UserGroup"
        aspnet_regsql -C "Data Source=YXSHU-PC;Initial Catalog=OnLineTest;Integrated Security=True" -ed -et -t "UserRank"

 

页 面调用:

       #region 设置依赖SQL数据库缓存
        /// <summary>
        /// 设置依赖SQL数据库缓存
        /// </summary>
        /// <param name="CacheKey">名称</param>
        /// <param name="objObject">值</param>
        /// <param name="dep">依赖项,可以使用本类中的initialSqlCacheDependency(表名称)</param>
        public static void SetCacheBySql(string CacheKey, object objObject, System.Web.Caching.CacheDependency dep)
        {
            System.Web.Caching.Cache objCache = System.Web.HttpRuntime.Cache;
            objCache.Insert(
                CacheKey,
                objObject,
                dep,
                System.Web.Caching.Cache.NoAbsoluteExpiration,//从不过期
                System.Web.Caching.Cache.NoSlidingExpiration,//禁用可调过期
                System.Web.Caching.CacheItemPriority.Default,
                null);
        }
        #endregion

 

        #region 初始化依赖项
        /// <summary>
        /// 初始化依赖项
        /// </summary>
        /// <param name="tablename"></param>
        /// <returns></returns>
        public static System.Web.Caching.SqlCacheDependency initalSqlCacheDependency(string tablename)
        {
            //依赖数据库codematic中的P_Product表变化 来更新缓存
            System.Web.Caching.SqlCacheDependency dep = new System.Web.Caching.SqlCacheDependency("OnLineTest", tablename);
            return dep;
        }
        #endregion

 

 

yxshu的主页 yxshu | 初学一级 | 园豆:184
提问于:2014-03-16 17:51
< >
分享
最佳答案
0

1、检查数据库是否建立

2、使用Management Studio尝试打开

3、检查连接字符串,看发布服务器是否允许MS账户登陆

收获园豆:20
James.Ying | 小虾三级 |园豆:1472 | 2014-03-16 20:20

非常感谢,知道前面两种情况应该不会的,试了第三种,原来真的是ms帐户的问题,连接字符串换了sa帐户以后马上通过了,非常感谢。

不过,还有一个问题,我本来连数据库的字符串是经过加密的,现在数据依赖原所使用的连接字符串要怎么加密呢?请问

yxshu | 园豆:184 (初学一级) | 2014-03-16 23:00

@yxshu: 原先用什么加密的?换成sa的登陆方式,应该不影响加密解密的

James.Ying | 园豆:1472 (小虾三级) | 2014-03-17 09:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册