从数据库加载Razor视图 - VirtualPathProvider和CacheDependency混淆

时间:2011-01-31 16:53:59

标签: sql-server-2005 asp.net-mvc-3 views razor

我对CacheDependency VirtualPathProvider.GetCacheDependency()的工作方式感到困惑。

我见过的每个例子都会根据磁盘上的某个物理文件创建一个缓存依赖项,而我正在从数据库中返回记录。现在,我正在覆盖GetFileHash,只返回相关记录被修改为哈希字符串的最后日期/时间。这很好用,我不确定使用CacheDependency项会影响性能,因为每次请求视图时我仍然需要检查数据库以查看它是否已更新,但我是仍然很好奇如何使用CacheDependency.

有没有人在从数据库返回视图时使用过这个?

更新

现在使用它(http://razorengine.codeplex.com/)非常好。

1 个答案:

答案 0 :(得分:2)

CacheDependency的目的是为您提供一个在缓存变为无效时将被调用的事件(因为磁盘上的文件已更改)。查看SqlCacheDependency与SQL Server条目做同样的事情。