我阅读了一些关于SqlCacheDependency的文章。我认为这是更新缓存的一种非常酷的方式,但如果我的应用程序是n层架构,我不知道如何处理这种技术。
如果我的程序是一个小型的Web应用程序,或者还有一种在大型n层架构中使用的方法,这是否有用?
答案 0 :(得分:1)
您可以创建自己的ICacheDependency接口,并使用工厂类为您提供适当的对象。这样,您的DAL或BL都不需要引用System.Web命名空间。您可以将此工厂类放在公共层中,并在UI层中引用它。
MS Petshop 4使用过这样的东西,你可能想要这样做。
答案 1 :(得分:0)
在这种情况下,您需要让DAL返回一个派生自CacheDependency抽象类的对象,该对象与SqlCacheDependency完全相同,但针对您的DAL进行了优化。
当然,这是关注点分离的失败,但如果您需要依赖关系,那么这是最好的方法。