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

4

我认为启用SQL缓存依赖有几个步骤:

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

请帮忙说明如何通过这些步骤?


你正在使用 Sql Server 对吧? - Kris Krause
你使用的SQL Server版本是哪个?答案可能因版本而异。 - Daniel Dyson
2个回答

3
请查看这篇文章,它介绍了如何使用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.

那么请看这篇来自MSDN的文章,它提供了一个概述,并包含许多操作指南链接。


请注意:此答案仅适用于旧的轮询方法。SQL Server 2005 的新通知功能设置方式有所不同。 - Jon Adams

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中,您需要添加一个部分:
<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);

如何为表名中包含空格的表添加依赖。 - Mac
1
谢谢PhilPursglove,我已经尝试过[]和'',但它们都没有起作用。非常感谢。 - Mac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接