0
在Asp.net Forms或MVC應用程序中,使用System.Web.Caching的緩存項在應用程序池重新啓動時會清除。 但是如果使用System.Runtime.Caching實現緩存會發生什麼?針對IIS應用程序池的System.Web.Caching&System.Runtime.Caching重新啓動
在Asp.net Forms或MVC應用程序中,使用System.Web.Caching的緩存項在應用程序池重新啓動時會清除。 但是如果使用System.Runtime.Caching實現緩存會發生什麼?針對IIS應用程序池的System.Web.Caching&System.Runtime.Caching重新啓動
但是如果使用System.Runtime.Caching實現緩存,會發生什麼?
如果您使用MemoryCache
默認實現,則會發生完全相同的情況,因爲這些項目將存儲在AppDomain的內存中。如果您希望緩存項目在應用程序池重新啓動後存活,則可能需要使用分佈式緩存系統,例如Redis或Memcached。通過使用分佈式緩存系統,您的Web羣集的所有節點都可以訪問這些緩存項目,並可能利用它們。
非常感謝!我認爲System.runtime.cache保持它與appdomain分開。 有沒有辦法在MVC應用程序和** Windows **服務應用程序之間共享MemoryCache項目? –
不,沒有辦法在AppDomains之間共享MemoryCache。它不是爲此目的而設計的。您將需要一個可以共享的分佈式緩存。 –