请问大家:缓存依赖怎么设置啊?
我是想在读取数据库某个表的数据后,将数据存放在Cache["sqlDatas"]中,设置缓存依赖,然后更改数据表中的某条记录中某列的值,然后刷新页面,页面中就能显示最新更改的数据。
请大家帮我说说具体怎么设置啊?我的数据库是SQL Server 2005,我的数据库是Northwind,经测试,已经启用了Service Broker。
我是想在读取数据库某个表的数据后,将数据存放在Cache["sqlDatas"]中,设置缓存依赖,然后更改数据表中的某条记录中某列的值,然后刷新页面,页面中就能显示最新更改的数据。
请大家帮我说说具体怎么设置啊?我的数据库是SQL Server 2005,我的数据库是Northwind,经测试,已经启用了Service Broker。
解决方案 »
- 问一个SQL语句如何写?在线等
- 如何在很多页面验证session
- 控件调用不出来,求解~~!
- gridview 选择多选框,并通过js获得值,并通过form。action传递值
- 请问各位,如何动态获取窗口的焦点?
- 请教为什么datelist中显示出来的数据只有一半?
- boytomato,谢谢啊,进来接分啊
- asp.net中类似于 iif(a>10,"aa","bb") 的表达式如何写?
- server.Transfer 方法在Page_Load中好用,在button的click事件怎么就不好用了。
- 将html文件存放在备注字段中,然后再输出可以吗?
- 关于梅花雨控件 在IE和火狐里面位置的问题!
- 在C#类中添加HttpContext.Current.Session失败,急啊
/// <summary>
/// SQL缓存依赖类
/// </summary>
public static class SqlDependencyFactory
{
/// <summary>
/// 启动监听
/// </summary>
/// <param name="connectionString"></param>
public static void Start(string connectionString)
{
SqlDependency.Start(connectionString);
}
/// <summary>
/// 停止监听
/// </summary>
/// <param name="connectionString"></param>
public static void Stop(string connectionString)
{
SqlDependency.Stop(connectionString);
}
/// <summary>
/// 添加依赖对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="t"></param>
public static void Add<T>(string key, T t)
{
if (SqlDependencyFactory.isDependency)
{
Guard.IsNotNull(Database, "数据库名不能为空");
Guard.IsNotNull(TableName, "表名不能为空"); SqlCacheDependency dependency = new SqlCacheDependency(Database, TableName);
if (!DataCache.Exists(key))
{
DataCache.Add<T>(t, key, dependency);
}
}
}
/// <summary>
/// 清除依赖对象
/// </summary>
public static void Clear(string key)
{
DataCache.Clear(key);
}
/// <summary>
/// 检测依赖对象是否存在
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static bool Exists(string key)
{
return DataCache.Exists(key);
}
/// <summary>
/// 获取依赖缓存对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static T Get<T>(string key)
{
T t = default(T);
if (DataCache.Exists(key))
{
DataCache.Get<T>(key, out t);
}
return t;
} /// <summary>
/// 是否启动缓存依赖
/// </summary>
public static bool isDependency
{
get;
set;
}
/// <summary>
/// 数据库名
/// </summary>
public static string Database
{
get;
set;
}
/// <summary>
/// 表名
/// </summary>
public static string TableName
{
get;
set;
}
}