加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MemoryCache跨应用程序共享

发布时间:2020-12-16 06:48:47 所属栏目:asp.Net 来源:网络整理
导读:我一直在阅读关于从.Net Framework 4.0开始的新MemoryCache类的所有地方.根据我的阅读,您可以跨不同的.Net应用程序访问MemoryCache.我试图在Asp.Net应用程序和标准的 Windows窗体.Net应用程序之间共享一个对象.如果我将对象添加到.Net应用程序中的MemoryCach
我一直在阅读关于从.Net Framework 4.0开始的新MemoryCache类的所有地方.根据我的阅读,您可以跨不同的.Net应用程序访问MemoryCache.我试图在Asp.Net应用程序和标准的 Windows窗体.Net应用程序之间共享一个对象.如果我将对象添加到.Net应用程序中的MemoryCache,则Asp.Net应用程序看不到它.有没有办法实现这个目标?感谢您的时间,非常感谢.

Windows窗体应用程序:

Dim cache As ObjectCache = MemoryCache.Default
    Dim policy As New CacheItemPolicy()
    policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(60)
    cache.Set("testcache",TestObj,policy)

Asp.Net App:

Dim cache As ObjectCache = MemoryCache.Default
    If IsNothing(cache("testcache")) Then Response.Write("TestCache Is Nothing")

谢谢 –
瑞安

解决方法

不,那是不可能的. MemoryCache不是分布式缓存解决方案.所以它只能在本地使用.

如果您正在寻找分布式缓存替代方案,您可能需要查看AppFabric或Redis.

但是,它听起来有点像奇怪的架构,想要以这种方式共享缓存.
也许暴露共享服务层,asp.net和winforms都消耗,只有服务实现缓存似乎更合乎逻辑(考虑到我实际上对你要解决的问题一无所知,所以我可能是错误).

缓存更常用于性能原因,而不是在应用程序之间共享数据的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读