62,046
社区成员
发帖
与我相关
我的任务
分享
/// <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;
}
}