gpt4 book ai didi

c# - ObjectCache 不适用于多个解决方案项目?

转载 作者:太空宇宙 更新时间:2023-11-03 23:28:57 24 4
gpt4 key购买 nike

我有两个解决方案:

  • Soultion1 我有 Console1.csproj
  • Solution2 我有 Console2.csproj

Solution1 项目 Console1.csproj 中,我已将值添加到缓存中并希望使用 Solution2 获取这些值我有 Console2.csproj 但是在 Console2.csproj 我得到的是 null

Console1.csproj

ObjectCache cache = MemoryCache.Default;

CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(10.0);
cache.Set("mykey", "myvalue", policy);

Console2.csproj 中,我试图从缓存中获取值,但我得到的是 null,为什么本地缓存不会持续存在?

ObjectCache cache = MemoryCache.Default;
object mykey = cache.Get("mykey", null);

最佳答案

您不能从应用程序的另一个实例访问缓存。为此,您需要使用诸如 appfabric 或 redis 缓存之类的东西。现在您正在运行“本地”缓存并且只能由 Console1 访问,Console2 无法访问它。它不是分布式缓存系统。

MemoryCache 仅供托管它的应用程序使用。

我建议您使用 AppFabric 或 Redis 缓存或 NCache。这些是用于允许多个源访问全局缓存的最常见的。

关于c# - ObjectCache 不适用于多个解决方案项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32946607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com