2012-01-17 85 views
0

我看看.Net框架對象緩存(System.Runtime.Caching)API,我看不到任何支持將「標籤」附加到緩存對象。.Net 4框架對象緩存和標籤

我正在尋找一個類似於AppFabric的API,它可以支持將標籤附加到緩存對象,然後根據標籤檢索對象。

System.Runtime.Caching上面有沒有公開可用的庫可以實現這個功能?

回答

0

查看了System.Runtime.Caching命名空間後,我認爲將其擴展到包含標記會非常困難(儘管不一定不可能)。如果您查看ObjectCachemembers(它似乎是緩存的基類),則標記方法不支持(如果您查看.NET 4.5 preview,則不支持即將支持)。

很明顯,方法可以重載以提供標籤,但CacheItem然後還需要擴展以添加標籤屬性。那麼我擔心,對於任何類似於AppFabric支持的基於標記的搜索方法,緩存將被減少爲遍歷所有CacheItems並逐一檢查它們,這可能沒有對你可能希望的性能產生影響(儘管如此,我可以看到基於數據庫的緩存在這方面可能有優勢)。

還有在DefaultCacheCapabilities枚舉標籤不支持(並再次,沒有即將出版),所以沒有辦法一個API來通知任何來電,它可以使用標籤。

+0

這就是我所懷疑的,但是我們可能會寫出「優化代碼」來支持標籤。 – Ngm 2012-01-17 11:21:11