首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 SqlCacheDependency 完整實作指南:從 Web.config 設定到資料庫啟用通知

     編輯:關於ASP.NET

ASP.NET 2.0 內建 SqlCacheDependency 徹底解決快取與資料庫同步問題,取代觸發器+檔案 I/O 的笨重方案。本文完整記錄設定與啟用流程。

1. Web.org 設定快取依賴

<system.web>
  <caching>
    <sqlCacheDependency enabled="true">
      <databases>
        <add name="AtlasDemoDb" 
             connectionStringName="AtlasDemoDbConnectionString" 
             pollTime="12000" />
      </databases>
    </sqlCacheDependency>
  </caching>
</system.web>

2. ObjectDataSource 設定

  • EnableCaching="true"
  • SqlCacheDependency="AtlasDemoDb:SimpleDemo1"(格式:資料庫名稱:資料表名稱)

3. 啟用資料庫通知(兩種方式)

方式一:命令列工具

aspnet_regsql.exe -S 伺服器 -E -d 資料庫名 -ed
aspnet_regsql.exe -S 伺服器 -E -d 資料庫名 -et -t 資料表名

方式二:程式碼啟用(建議放在 Application_Start)

System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications(
    ConfigurationManager.ConnectionStrings["AtlasDemoDbConnectionString"].ConnectionString);

System.Web.Caching.SqlCacheDependencyAdmin.EnableTableForNotifications(
    ConfigurationManager.ConnectionStrings["AtlasDemoDbConnectionString"].ConnectionString, 
    "SimpleDemo1");

常見錯誤與解決

「沒有為 SQL 快取通知啟用資料庫」→ 忘記執行步驟 3。務必先啟用資料庫層級通知,再啟用資料表層級。

設定完成後,資料表異動即自動使快取失效,零程式碼維護快取一致性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved