C# Datatable 缓存

hemeng01001 2015-08-04 04:45:31
A页面在Page_Load 获取 datatable 后,放入缓存 HttpContext.Current.Cache.Insert("key", dt);


为什么在另一个B.cs文件中取不到datatable 缓存?

B.cs :
DataTable dt = (DataTable)HttpContext.Current.Cache["key"];

为什么 dt 为null ?
...全文
311 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
种草德鲁伊 2015-08-06
  • 打赏
  • 举报
回复
多说一点,用缓存之前必须要了解存储的对象一定是可序列化的
lkhuge 2015-08-06
  • 打赏
  • 举报
回复
干脆直接用静态变量好了 如果这个是全局的话
江南小鱼 2015-08-05
  • 打赏
  • 举报
回复
Insert的时候,dt是否为null?
moonwrite 2015-08-04
  • 打赏
  • 举报
回复
net 4.0 推荐用 System.Runtime.Caching MemoryCache.Default 自己搜索一下用法
wenyegood 2015-08-04
  • 打赏
  • 举报
回复
你使用的是System.Web.HttpContext.Current.Cache,是存放在当前上下文对象中,表示“为当前 HTTP 请求获取 Cache 对象”,而你在另外一个页面去取Cache,并不是当前请求了,所以取不到。 你应该使用HttpRuntime.Cache
hemeng01001 2015-08-04
  • 打赏
  • 举报
回复
A页面是aspx文件,B是类文件
gw6328 2015-08-04
  • 打赏
  • 举报
回复
B在访问的时候,A还没有放入
wc_ling 2015-08-04
  • 打赏
  • 举报
回复
页面?HTTP不是无状态协议不会保持数据的,可以又文件进行缓存啊。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧