我有两个网站在其网站之间使用相同的数据,但其中一个网站是内容管理系统。在内容管理系统中,当项目被保存时,它会使特定对象的缓存失效。
另一个网站,我想使用缓存,所以我不必继续往返数据库。如果我在共享相同应用程序池的这些站点之间使用相同的缓存键/对象,那么在这种情况下不是CMS的站点是否会反映它的缓存已过期并检索新对象?
答案 0 :(得分:3)
这两个应用程序在同一个应用程序池中运行,但它们不在相同的内存空间中运行。您可以将这两个应用程序视为具有自己独特的内存指针集,因此,一个不会影响另一个。您无法访问其他应用程序的变量,并且缓存生命周期也无效,即使它们位于同一个数据存储中也是如此。
答案 1 :(得分:0)
你的答案总结为2个单词 - “应用程序缓存”。它适用于单个应用程序,并不关心AppPool,因此它不能像您期望的那样工作。 也许您可以查看两个应用之间的会话共享。
答案 2 :(得分:0)
否,因为缓存将特定于AppDomain,而不是AppPool。请参阅此问题以在同一应用程序池的应用程序之间共享缓存。 Shared variable across applications within the same AppPool?