我正在从System.Web.Caching迁移到较新的(.NET 4)System.Runtime.Caching命名空间。但是,似乎没有相当于旧的SqlCacheDependency表通知体系结构。使用SqlCacheDependency,只需指定表名,就可以在表中的数据发生更改时收到通知。是否有不同的方式可以实现表格更改通知?
答案 0 :(得分:0)
您需要使用SqlChangeMonitor类。
来自MSDN,
SqlChangeMonitor类包装ADO.NET SqlDependency类和 为基于SQL Server的依赖项添加更改监视。因此, SqlChangeMonitor类充当ADO.NET之间的桥梁 SqlDependency对象和System.Runtime.Caching命名空间。
需要通过CacheItemPolicy对象将SQLChangeMonitor添加到ChangeMonitors。然后,您可以使用Add或Set方法将CacheItemPolicy与MemoryCache关联。
答案 1 :(得分:0)
答案是没有等价物 - 这个功能已被排除在System.Runtime.Caching之外。经过一些努力,理论上它可以重建,也许是一个有进取心的开发人员的开源项目。