No ASP.NET 1.X, era possível criar dependências para valores armazenados no objeto Cache do namespace System.Web.Caching. A invalidação do Cache poderia ficar associada a vários eventos, como após um determinado período de tempo, mudança em um ou mais arquivos e/ou diretórios ou mudança em um valor de outra chave de cache. Sempre que um desses eventos ocorresse, o cache seria inutilizado. Era possível até mesmo informar um delegate que deveria ser chamado quando o evento de invalidação do cache ocorresse.

Uma grande melhoria do ASP.NET 2.0 nesse campo foi a introdução da possibilidade de se criar uma dependência do Cache com o banco de dados SQL Server. Assim, sempre que algum dado for alterado no banco de dados, o cache é invalidado. Deste modo, é possível ter os benefícios de performance que o uso de cache propricia juntamente com dados sempre atualizados.

Referências
Improved Caching in ASP.NET 2.0
SqlCacheDependency Class (System.Web.Caching)
Walkthrough: Using ASP.NET Output Caching with SQL Server

Ricardo Oneda