如何在web.config中使用sqlcachedependency

时间:2013-08-26 23:07:55

标签: c# asp.net

如果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>

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

1 个答案:

答案 0 :(得分:1)

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

如果2个表来自不同的数据库,则需要单独指定每个数据库的设置。 web.config中的<databases>元素在<add name="...设置中获取数据库的名称。它没有表格的名称。

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

1。)第一个使用轮询,这是基于表格的。

2.)第二个接受命令,因此缓存依赖于正在执行的查询。

在SQL中使用这两种类型的依赖项的一个非常出色的教程是here.。此链接还说明了SqlCacheDependency的web.config中的设置。