zoukankan      html  css  js  c++  java
  • C#如何使用SqlCacheDependency

    1、数据库依赖类SqlCacheDependency

    数据库缓存依赖主要解决的是当数据库的内容发生改变时,如何及时通知缓存,并更新缓存中的数据的问题。

    语法定义:

    SqlCacheDependency类主要的构造函数如下:

    public SqlCacheDependency(string database,string table)

    使用之前需要先配置web.config,加入如下节点。

      <connectionStrings>
    <add name="DBConfig" connectionString="......"/>

    </connectionStrings
    > <system.web> <caching> <sqlCacheDependency enabled="true" pollTime="5000"> <databases> <add name="DispatchAssist" connectionStringName="DBConfig" /> </databases> </sqlCacheDependency> </caching> </system.web>

    2、注册

    打开VS命令提示工具,执行如下格式命令。

      有身份验证输入:aspnet_regsql.exe -S  SqlServer服务器  -U <Username> -P <Password> -ed -d 数据库名称 -et -t 表名

      无身份验证输入:aspnet_regsql.exe -S  SqlServer服务器  -ed -d 数据库名称 -et -t 表名

       以下是该工具的命令参数说明:

    -? 显示该工具的帮助功能;

    -S 后接的参数为数据库服务器的名称或者IP地址;

    -U 后接的参数为数据库的登陆用户名;

    -P 后接的参数为数据库的登陆密码;

    -E 当使用windows集成验证时,使用该功能;

    -d 后接参数为对哪一个数据库采用SqlCacheDependency功能;

    -t 后接参数为对哪一个表采用SqlCacheDependency功能;

    -ed 允许对数据库使用SqlCacheDependency功能;

    -dd 禁止对数据库采用SqlCacheDependency功能;

    -et 允许对数据表采用SqlCacheDependency功能;

    -dt 禁止对数据表采用SqlCacheDependency功能;

    -lt 列出当前数据库中有哪些表已经采用sqlcachedependency功能。

    3、实例示范

    private readonly static string ALlRoleCacheKey = "ALlRoleCacheKey";
    public List<UserRole> GetAllUserRole()
            {
                try
                {
                    List<UserRole> list = CacheHelper.Get<List<UserRole>>(ALlRoleCacheKey);
                    if (list == null)
                    {
                        list = _provider.GetAllUserRole();  //获取list数据源
                        System.Web.Caching.SqlCacheDependency dependency = new System.Web.Caching.SqlCacheDependency
                           (System.Configuration.ConfigurationManager.AppSettings["CurrentDB"], "UserRole");
                        CacheHelper.Insert(ALlRoleCacheKey, list, dependency);
                    }
                    return list;
                }
                catch (Exception e)
                {
                    Logger.Error("AuthManager. GetAllUserRole() ", e);
                    return null;
                }
            }
  • 相关阅读:
    20199327 2019-2020-2 《网络攻防实践》第二周作业
    20199327 2019-2020-2《网络攻防实践》第一周作业
    20199327 《网络攻防实践》假期作业
    笔记
    20199327《Linux内核原理与分析》第十二周作业
    20199327《Linux内核原理与分析》第十一周作业
    第二周 测试
    DOS攻击——ICMP报文洪水攻击
    阅读《供应链的可信溯源査询在区块链上的实现》总结 (硕士论文)��
    阅读《基于区块链和用户信用度的访问控制模型 》总结
  • 原文地址:https://www.cnblogs.com/chenh/p/6739703.html
Copyright © 2011-2022 走看看