我们如何在ASP.NET 2.0中启用SQL缓存依赖?

时间:2010-07-05 11:24:56

标签: asp.net sql caching dependencies

我认为有一些步骤可以启用SQL Cache Depdndency:

启用通知,更改web.xml,然后使用Cache Dependency对象。

请帮助我如何通过它们?

2 个答案:

答案 0 :(得分:3)

看看this post。它将指导您使用Aspnet_regsql.exe工具,该工具可以为您设置它。

以下是上述帖子的摘录:

...To enable a cache dependency on a particular database, run this command:
aspnet_regsql.exe -S server -U user -P password -d database -ed

This creates a new table, AspNet_SqlCacheTablesForChangeNotification, 
in the designated database. Next, several AspNet_SqlCacheXxxx stored procs
are created in the same database.

然后查看this post from MSDN以获取概述,其中包含许多操作方法链接。

答案 1 :(得分:2)

要启用以使用SQL缓存依赖项,您需要首先从命令行提示符运行aspnet_regsql.exe工具,并使用以下选项:

aspnet_regsql -S servername -U login -P password -ed -d databasename -et -t tablename

如果表名包含空格,则将表名用引号括起来,例如

aspnet_regsql -S servername -U login -P password -ed -d databasename -et -t "table name"

在您的web.config中,您需要添加caching部分:

<system.web>
    <caching>
      <sqlCacheDependency enabled = "true" pollTime = "60000" >
        <databases>
          <add name="northwind" 
            connectionStringName="Northwind"
            pollTime="9000000"
          />
      </databases>
    </sqlCacheDependency>
  </caching>
</system.web>

将项添加到缓存中时,可以使用SqlCacheDependency对象设置缓存对象与基础表之间的关系:

SqlCacheDependency dependency = new SqlCacheDependency("databasename", "tablename");

Cache.Add(key, object, dependency);