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。它不是为此目的而设计的。您将需要一个可以共享的分布式缓存。 –