日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

扩展和修改 Enterprise Library 缓存应用程序块

發布時間:2025/5/22 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 扩展和修改 Enterprise Library 缓存应用程序块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在它的原始狀態中,緩存應用程序塊在典型的緩存情況下工作得很好,然而,許多時候你不得不定制應用程序塊的某些行為以更好的適用于應用程序的特定環境。在此有二種方法可以用來定制:擴展和修改。

擴展應用程序塊

可以通過指定擴展點來擴展應用程序。通常,可以定制一個實現了特定接口或從一個抽象類派生出的類。因為那些定制類存在于你的應用程序空間中,所以不用修改或重建應用程序塊,而是使用配置設置來指定擴展點。

可以用添加一個新的后端存儲類型或新的到期策略來擴展應用程序塊。更多信息,請參見添加新的后端存儲和添加新的到期策略。

修改應用程序塊

可以通過改變應用程序塊的源代碼來修改它,這可能也可能不需要相關配置的改變。因為修改是相對于源代碼的,所以在修改起作用之前必須重建應用程序塊。同樣也必須準備處理支持和版本發布。更多信息,請參見修改緩存應用程序塊。

添加新的后端存儲

要添加一個新的后端存儲,可以實現一個實現了 IBackingStore 接口或者從 BaseBackingStore 抽象類繼承的類。必須保證你的實現在任何操作訪問后端存儲時如果發生異常,后端存儲也依然是完整的。

因為 Cache 對象的操作方法,要保證任何后端存儲都要以單線程的方式被調用。這意味著你的實現可以不是線程安全的。

添加新的到期策略

緩存應用程序塊允許添加自己的到期策略,可以構建一個實現了下列接口的新類來完成此目的:

ICacheItemExpiration

此接口讓開發人員實現他們自己的到期模式。它是一個應用定義的管理一個CacheItem 對象如何以及何時可以到期的規則的接口。

ICacheItemRefreshAction

此接口刷新一個過期的緩存條目。

ICacheItemRefreshAction 接口定義了必須實現的創建一個對象的規約,這個對象刷新來自緩存的到期的條目。實現的類必須是可序列化的。在實現此接口時,確認它僅維護有關它的環境需要的狀態量,因為環境的所有部分都將被序列化,維護過多的狀態將導致巨大的對象圖。

修改緩存應用程序塊

緩存應用程序塊為用于各種應用程序和通用目的的緩存而設計,擴展點可以使你適配應用程序塊滿足任何特殊應用程序的需求。然而,如果要添加新的特性到應用程序塊中,就可以修改其源代碼來達到目的(安裝程序包含了源代碼和二進制)。在這種情況下,將按照下列建議來修改。

修改緩存應用程序塊的建議

在修改源代碼時,下面是最好的實踐經驗:

  • 通過閱讀文檔中的緩存應用程序塊設計節來確認你理解了應用程序塊是如何工作的。

  • 如果顯著的改變了源代碼,或者要將應用程序塊的定制版本與原始版本一起使用的話,考慮改變緩存應用程序塊的命名空間。請注意,修改應用程序塊的命名空間將需要修改所有使用了緩存應用程序塊的其他應用程序塊和應用程序的命名空間。

  • 使用強名稱。強名稱可以唯一標識程序集、版本和驗證完整性。這將不得不生成自己的密鑰對來簽名修改了的應用程序塊版本。更多信息,請參見強命名程序集和版本指南。另一種選擇是,可以選擇不簽名定制的版本,這可以被引用為弱名稱。

  • 要使修改起作用,必須重新編譯修改后的源代碼。

轉載于:https://www.cnblogs.com/doriandeng/archive/2007/10/30/942236.html

總結

以上是生活随笔為你收集整理的扩展和修改 Enterprise Library 缓存应用程序块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。