Как включить зависимость кэша SQL в ASP.NET 2.0? - PullRequest
4 голосов
/ 05 июля 2010

Я думаю, что есть несколько шагов, чтобы включить SQL Cache Depdndency:

Включение уведомлений, изменений в web.xml, а затем использование объекта Cache Dependency.

Пожалуйста, помогите, как мне пройти через них?

Ответы [ 2 ]

3 голосов
/ 05 июля 2010

Посмотрите на этот пост . Он проведет вас через инструмент 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 для обзора, с большим количеством ссылок с инструкциями.

2 голосов
/ 05 июля 2010

Чтобы включить таблицу для использования зависимостей кэша 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);
...