今天学习了一下数据库缓存的问题,在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
1、检查数据库是否建立
2、使用Management Studio尝试打开
3、检查连接字符串,看发布服务器是否允许MS账户登陆
非常感谢,知道前面两种情况应该不会的,试了第三种,原来真的是ms帐户的问题,连接字符串换了sa帐户以后马上通过了,非常感谢。
不过,还有一个问题,我本来连数据库的字符串是经过加密的,现在数据依赖原所使用的连接字符串要怎么加密呢?请问
@yxshu: 原先用什么加密的?换成sa的登陆方式,应该不影响加密解密的