Saat menggunakan Cache di masa lalu, saya selalu berhati-hati tentang ketidakkonsistenan antara versi data di Cache dan versi data di database. Meskipun ketergantungan cache file yang diterapkan melalui pemicu + file IO juga dapat mencapai pembaruan tepat waktu dari data cache, masing-masing aplikasi menghasilkan file IO. Ini tidak terlalu ekonomis, dan kinerja pemicunya tidak terlalu tinggi, jadi ketika menambah, menghapus atau memodifikasi, sering kali dilakukan dengan menghapus nilai kunci cache, tetapi mungkin ada beberapa kelalaian. SqlCacheDependency diimplementasikan di asp.net 2.0 Artikel ini menjelaskan cara mengimplementasikan SqlCacheDependency di asp.net 2.0:
Pertama, tambahkan kode berikut ke file node web.config system.web:
<cache>
<sqlCacheDependency diaktifkan="benar">
<database>
<tambahkan nama="AtlasDemoDb" connectionStringName="AtlasDemoDbConnectionString" pollTime="12000"></add>
</database>
</sqlCacheDependency>
</caching>
Dengan cara ini, database yang bergantung pada cache dikonfigurasi, dan EnableCaching dari objek ObjectDataSource di halaman disetel ke true. Kemudian atur properti SqlCacheDependency ke AtlasDemoDb:SimpleDemo1, AtlasDemoDb adalah nama database cache yang dikonfigurasi di web .config, dan SimpleDemo1 adalah nama tabel di bawah database.
Sama seperti ini, sistem juga akan mengalami masalah berikut:
Basis data 'AtlasDemoDb' tidak diaktifkan untuk pemberitahuan cache SQL.
Untuk mengaktifkan database untuk pemberitahuan cache SQL, gunakan metode System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications, atau alat baris perintah aspnet_regsql. Untuk menggunakan alat ini, jalankan "aspnet_regsql.exe -?"
Seperti disebutkan di atas, menjalankan aspnet_regsql.exe merepotkan. Anda dapat mengisinya di acara Page_Load.
System.Web.Caching.SqlCacheDependencyAdmin.EnableTableForNotifications(System.Configuration.ConfigurationManager.ConnectionStrings["AtlasDemoDbConnectionString"].ConnectionString, "SimpleDemo1");
Dengan cara ini Anda dapat menggunakan SqlCacheDependency. Saya akan menguji kinerja metode ini besok. Saya terlalu mengantuk hari ini, jadi saya tidur dulu
http://www.cnblogs.com/jillzhang/archive/2006/08/15/477914.html