如何将sqlcachedependency与web.config一起使用

本文关键字:config 一起 web sqlcachedependency | 更新日期: 2023-09-27 18:29:09

如果database.my webconfig文件上的表中的数据有代码,我想从缓存中获取数据;

<connectionStrings>
<add name="baglantiaditbluyeler" connectionString="Data Source=MURATAKARSU;Initial Catalog=verilerim;Integrated Security=SSPI"/>
 </connectionStrings>
 <system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000" >
<databases>
 <add name="verilerim" connectionStringName="baglantiaditbluyeler"/>
 </databases>
 </sqlCacheDependency>
  </caching>

它可以按照我的意愿运行。但如果我想缓存另一个表,我应该插入与另一个表格名称相同的代码吗。也就是说,我的代码应该做如下操作吗?

 <connectionStrings>
<add name="baglantiaditbluyeler" connectionString="Data Source=MURATAKARSU;Initial Catalog=verilerim;Integrated Security=SSPI"/>
<add name="baglantiaditblSorular" connectionString="Data Source=MURATAKARSU;Initial Catalog=verilerim;Integrated Security=SSPI"/>
 </connectionStrings>
 <system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000" >
<databases>
 <add name="verilerim" connectionStringName="baglantiaditbluyeler"/>
 <add name="verilerim2" connectionStringName="baglantiaditblSorular"/>
 </databases>
 </sqlCacheDependency>
  </caching>

我的代码运行,但我想教的是它的真实方式。

如何将sqlcachedependency与web.config一起使用

您在web.config中指定的设置实际上是PER DATABASE设置。这意味着,对于每个数据库,您只指定一次设置。如果这两个表来自同一个数据库,则不需要指定两次。

如果这两个表来自不同的数据库,则需要分别指定每个数据库的设置。web.config中的<databases>元素采用<add name="...设置中数据库的名称。它不采用表的名称。

由于您需要缓存其他表,SQL有两种类型的依赖关系。

1.)第一种使用基于表的轮询。

2.)第二个获取命令,因此缓存取决于正在执行的查询。

关于在SQL中使用这两种类型的依赖关系,这里有一个非常精彩的教程。。此链接还解释了web.config中SqlCacheDependency的设置。