과거에 캐시를 사용할 때 캐시의 데이터 버전과 데이터베이스의 데이터 버전 간의 불일치에 항상 주의했습니다. 트리거 + 파일 IO를 통해 구현된 파일 캐시 종속성도 캐시된 데이터를 적시에 업데이트할 수 있지만, 애플리케이션이 IO 파일을 생성하는 것은 그다지 경제적이지 않고, 트리거 성능도 그다지 높지 않아 추가, 삭제, 수정 시 캐시 키 값을 삭제하는 방식으로 이루어지는 경우가 많지만, 일부 누락된 부분이 있을 수 있습니다. SqlCacheDependency는 asp.net 2.0에서 구현됩니다. 이 문서에서는 asp.net 2.0에서 SqlCacheDependency를 구현하는 방법을 설명합니다.
먼저 web.config system.web 노드 파일에 다음 코드를 추가합니다.
<캐싱>
<sqlCacheDependency 활성화="true">
<데이터베이스>
<add name="AtlasDemoDb" ConnectionStringName="AtlasDemoDbConnectionString" pollTime="12000"></add>
</데이터베이스>
</sqlCacheDependency>
</caching>
이런 식으로 캐시 종속 데이터베이스가 구성되고 페이지의 ObjectDataSource 개체의 EnableCaching이 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