Asp.net n层架构中的SqlCacheDependency
我读了一些关于SqlCacheDependency的文章。我认为这是一种更新缓存的非常酷的方法,但如果我的应用程序是一个n层架构,我不确定如何处理这种技术Asp.net n层架构中的SqlCacheDependency,asp.net,caching,n-tier-architecture,sqldependency,Asp.net,Caching,N Tier Architecture,Sqldependency,我读了一些关于SqlCacheDependency的文章。我认为这是一种更新缓存的非常酷的方法,但如果我的应用程序是一个n层架构,我不确定如何处理这种技术 如果我的程序是一个小型Web应用程序,这是否有用?或者是否还有一种方法可用于大型n层架构?在这种情况下,您需要让DAL返回一个从CacheDependency抽象类派生的对象,该类将执行与SqlCacheDependency相同的操作,但针对DAL进行了优化 当然,这是关注点分离的失败,但是如果您需要依赖项,这是最好的方法。您可以创建自己的I
如果我的程序是一个小型Web应用程序,这是否有用?或者是否还有一种方法可用于大型n层架构?在这种情况下,您需要让DAL返回一个从CacheDependency抽象类派生的对象,该类将执行与SqlCacheDependency相同的操作,但针对DAL进行了优化
当然,这是关注点分离的失败,但是如果您需要依赖项,这是最好的方法。您可以创建自己的ICacheDependency接口,并使用factory类为您提供适当的对象。这样,DAL或BL都不需要引用System.Web命名空间。您可以将这个工厂类放在一个公共层中,并在UI层中引用它
MS Petshop 4使用了类似的东西,您可能希望遵循它。您的意思是您的应用程序分布在多个服务器上吗?尤其是数据库层?是的,我们项目中的DAL被几个不同的应用程序使用。从WebFarm中的ASP.Net应用程序到带有BizTalk的逻辑服务器。您认为在n层体系结构的DAL中使用此类是一种“好风格”吗?像你一样,我不这么认为。结论:我很喜欢这个类,但只适用于小应用。是的,我认为微软没有定义一个ICacheDependency接口是很不幸的,从DAL公开这个接口可能还可以。我不喜欢使用System.Web的DAL。