=波波日志 > Asp.Net/C#/WCF > SqlCacheDependency基于多个数据库表,多个数据库的缓存运用=

SqlCacheDependency基于多个数据库表,多个数据库的缓存运用

  当一个页面信息来自不同的数据库,不同的表,此时非常必要对数据库信息进行缓存,减少不必要的连接数据库和读取数据库信息,而是直接从缓存中读取。

  要使用SqlCacheDependency+outputcache指令进行数据缓存,必须确保每个数据库,需要缓存的表都开启了SqlCacheDependency,具体如何开启请参考ASP.NET 2.0 中的SqlCacheDependency特性

  当开启完毕并且设置好web.config相关信息后,就可以使用OutputCache指令了。

  假设一个页面需用要到blog和Northwind数据,则相关配置信息如下。
web.config
+展开
-XML
  <connectionStrings>
    <add name="dbconnectionString="server=.;database=Northwind;uid=sa;pwd=;providerName="System.Data.SqlClient"/>
    <add name="blogconnectionString="server=.;database=blog;uid=sa;pwd=;providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
    <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <add name="dbconnectionStringName="dbpollTime="60000"/>
          <add name="blogconnectionStringName="blogpollTime="60000"/>
        </databases>
      </sqlCacheDependency>
    </caching>
  </system.web>


要使用到多个数据库,多个表的aspx页面的Outputcache指令的值
+展开
-HTML
<%@ OutputCache Duration="3600" SqlDependency="db:Employees;blog:blog" VaryByParam="none" %>


监视多个表和多个数据库时,SqlDependency的值需要英文状态下的分号“;”分隔开每个要监视的数据库表对象。对于SqlDependency的值的格式,请参考SqlCacheDependency无法在配置中找到“Northwind”数据库错误。简单来说就是分号“;”前面的值是databases配置节下的节点name的值,而不是连接到数据库的名称,如果使用数据库名称,程序则会出错。
类别:Asp.Net/C#/WCF 作者:波波 日期:2010-06-02 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090