2

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

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

4

1 回答 1

1

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

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

由于需要缓存其他表,所以 SQL 有两种依赖。

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

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

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

于 2013-08-27T01:52:47.890 回答