我讀了一些關於SqlCacheDependency的文章。我認爲這是一個更新緩存的非常酷的方式,但是我不知道如果我的應用程序是n層架構,我該如何處理這個技術。n-tier架構中的SqlCacheDependency
如果我的程序是一個小型的web應用程序,或者還有一種方法可用於大型n-tier架構,這只是有用嗎?
我讀了一些關於SqlCacheDependency的文章。我認爲這是一個更新緩存的非常酷的方式,但是我不知道如果我的應用程序是n層架構,我該如何處理這個技術。n-tier架構中的SqlCacheDependency
如果我的程序是一個小型的web應用程序,或者還有一種方法可用於大型n-tier架構,這只是有用嗎?
您可以創建自己的ICacheDependency接口並使用工廠類爲您提供適當的對象。這樣,您的DAL或BL都不需要引用System.Web命名空間。你可以把這個工廠類放在一個普通的層中,並在UI層引用它。
MS Petshop 4已經使用過類似的東西,您可能需要遵循這一點。
在這種情況下,您需要讓您的DAL返回一個從CacheDependency抽象類派生的對象,它將執行與SqlCacheDependency相同的操作,但會爲您的DAL進行優化。
當然,這是關注點分離的失敗,但是如果您需要依賴關係,那麼這是最好的方法。
你認爲在一個n層架構的DAL中使用這個類是否是一種「好風格」?像你一樣,我不這麼認爲。結論:我很好的課程,但只適用於小型應用程序。 – 2009-07-06 14:15:55
您的意思是說你的應用程序分佈在多個服務器上?特別是數據庫層? – 2009-07-05 14:21:43
是的,我們Projekt中的DAL被幾個不同的應用程序使用。從WebFarm中的ASP.Net應用程序到帶有BizTalk的邏輯服務器。 – 2009-07-06 14:10:57