如何将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>
我的代码运行,但我想教的是它的真实方式。
您在web.config
中指定的设置实际上是PER DATABASE设置。这意味着,对于每个数据库,您只指定一次设置。如果这两个表来自同一个数据库,则不需要指定两次。
如果这两个表来自不同的数据库,则需要分别指定每个数据库的设置。web.config中的<databases>
元素采用<add name="...
设置中数据库的名称。它不采用表的名称。
由于您需要缓存其他表,SQL有两种类型的依赖关系。
1.)第一种使用基于表的轮询。
2.)第二个获取命令,因此缓存取决于正在执行的查询。
关于在SQL中使用这两种类型的依赖关系,这里有一个非常精彩的教程。。此链接还解释了web.config中SqlCacheDependency的设置。