Раньше, используя Cache, я всегда был осторожен с несоответствием версии данных в Cache и версии данных в базе данных. Хотя зависимость файлового кэша, реализованная через триггеры + файловый ввод-вывод, также может обеспечить своевременное обновление кэшированных данных, каждый из которых может быть реализован. приложение генерирует файл ввода-вывода. Это не очень экономично, а производительность триггера не очень высока, поэтому при добавлении, удалении или изменении часто достигается удаление значения ключа кэша, но могут быть некоторые упущения. SqlCacheDependency реализован в asp.net 2.0. В этой статье описывается, как реализовать SqlCacheDependency в asp.net 2.0.
Сначала добавьте следующий код в файл узла web.config system.web:
<кэширование>
<sqlCacheDependency Enabled="true">
<базы данных>
<add name="AtlasDemoDb" ConnectionStringName="AtlasDemoDbConnectionString" pollTime="12000"></add>
</базы данных>
</sqlCacheDependency>
</caching>
Таким образом настраивается база данных, зависящая от кэша, и для параметра EnableCaching объекта ObjectDataSource на странице устанавливается значение true. Затем установите для свойства SqlCacheDependency значение AtlasDemoDb:SimpleDemo1, AtlasDemoDb — это имя базы данных кэша, настроенное в Интернете. .config, а SimpleDemo1 — это имя таблицы в базе данных.
Точно так же в системе также будут возникать следующие проблемы:
База данных AtlasDemoDb не поддерживает уведомления о кэше SQL.
Чтобы включить базу данных для уведомлений кэша SQL, используйте метод System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications или инструмент командной строки aspnet_regsql. Чтобы использовать этот инструмент, запустите «aspnet_regsql.exe -?» для получения подробной информации.
Как уже говорилось выше, запустить aspnet_regsql.exe хлопотно. Залить можно в событии Page_Load.
System.Web.Caching.SqlCacheDependencyAdmin.EnableTableForNotifications(System.Configuration.ConfigurationManager.ConnectionStrings["AtlasDemoDbConnectionString"].ConnectionString, "SimpleDemo1");
Таким образом вы можете использовать SqlCacheDependency. Завтра проверю работоспособность этого метода. Мне сегодня очень хочется спать, поэтому я сначала пойду спать
http://www.cnblogs.com/jillzhang/archive/2006/08/15/477914.html