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;
                }
            }
  • 相关阅读:
    SVN菜单说明
    Jabber Software:Jabber-NET、agsXMPP与Wilefire[转]
    nuget的使用总结
    SET QUOTED_IDENTIFIER ON
    SET ANSI_NULLS ON
    SQL Server性能杀手
    How to open .ccproj in VS2010?
    Bios里,把SATA Mode Selection改为AHCI无法启动
    [转]内嵌WORD/OFFICE的WINFORM程序——DSOFRAMER使用小结
    使用EF连接现有数据库
  • 原文地址:https://www.cnblogs.com/chenh/p/6739703.html
Copyright © 2011-2022 走看看