asp.net 观察者模式初步 AggregateCacheDependency
在项目中可能会遇到这样的情况,我们需要时时的读取某个信息。如多个人一起报价,每个人的价格要在每个人的面前匿名显示。对于这样的时时性,很多时候我们就是定时的读数据库,显然这样不是最好的办法,在实际应用过程中,会出现很多问题,如速度、服务器负载。
当我在看PetShop4.0的时候我看到了AggregateCacheDependency,它实现了Catch于数据库的时时性,并联想到了观察者模式,不知道那位高手给指点下,,这样能不能提高程序的性能?
我自己也在找时间做个例子测试下。
用aspnet_regsql命令添加启用通知。
请确保该表存在,并确保用于缓存依赖项的表名称与缓存通知注册中使用的表名称完全相同。
若要为 SQL 缓存通知启用表,请使用 SqlCacheDependencyAdmin.EnableTableForNotifications 方法或命令行工具 aspnet_regsql。有关如何使用此工具的详细信息,请运行“aspnet_regsql.exe -?”。
若要获取数据库中已启用表的列表,请使用 SqlCacheDependencyManager.GetTablesEnabledForNotifications 方法或命令行工具 aspnet_regsql.exe。
/Files/nanshouyong326/CastleSample.rar呵呵,名子有问题。。
在缓存由于数据变动而自动删除时,还有回掉,,不过我测试了,,感觉总是晚了2秒到3秒才真正删除。可能是机子或是用的虚拟ISS原因。在研究。。
所用表的SQL创建
其中的类图简略如下: