Cache数据缓存不可用

wfyfngu 2006-07-13 12:04:00
我想在页面中缓存一个DataSet,编译成功,但是不能从Cache中取值,请帮忙!
我的源代码如下:

/// <summary>
/// 读取当前用户的邮件列表
/// </summary>
/// <returns>DataSet</returns>
public DataSet getAllMailByUserId()
{
DataSet myDataSet = null;
myDataSet = (DataSet)Cache["mailInfo"];
if(myDataSet == null)
{
object userId = Session["userId"];
myDataSet = PageControl.createDataSet("selectAllMialByUserId", new string[]
{"mailInfo"}, userId);

Cache["mailInfo"] = myDataSet;
}
return myDataSet;
}

在填充DataSet时使用的是存储过程,而且没有问题,因为不用Cache时,myDataSet中有值
...全文
404 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿牛138588 2006-07-26
  • 打赏
  • 举报
回复
结贴:在本页面上方有一行字:回复 | 收藏此页 | 专题 | 公告 | 管理 | 保存 | 关闭窗口


你点一下管理,然后输入密码,分配分数,再按[结贴]就行了
wfyfngu 2006-07-26
  • 打赏
  • 举报
回复
谢谢各位的帮忙,其实问题我已经找到了答案
总要将object类型的Session转换为int就可以了,或者使用常量
但是在讨论的过程中,还真发现了一个有意义的事情,就是ASP.NET2.0在Cache的管理上确实存在一个微小的bug,1.1则没有问题

请问要怎样才可以结帖!!!!
jijl2001 2006-07-23
  • 打赏
  • 举报
回复
if(Cache["mailInfo"]!=null){
myDataSet = (DataSet)Cache["mailInfo"];
}

一定要判断一下吧
caicaibao 2006-07-23
  • 打赏
  • 举报
回复
调试跟踪一下看看
活靶子哥哥 2006-07-23
  • 打赏
  • 举报
回复
see:
http://www.aspxboy.com/code/default.aspx/S7s2zPJbeI9PJA/OKHpAVwVaUEhf02EgEOgeB3Yd5Z7fLL3ZNgdv7XIqertUOYm9Lt2z7P2vt/2C0IoCxyIplmfUKQlJPOldR5ceRTU2o3gSyBkSkCVWTRDtmaGzlZ4uSzBDsCbDM/sA+UMTAOR0dcmOus9ytWiP.Aspx
dreampeng007 2006-07-23
  • 打赏
  • 举报
回复
楼上说的不正确,CACHE也可以Cache["mailInfo"] = myDataSet;这样来使用,不过这样使用没有依赖项罢了,要包括特定的缓存依赖项,可使用 Add() 或 Insert() 方法
zorou_fatal 2006-07-13
  • 打赏
  • 举报
回复
cache不是这么用的

例如:
CacheDependency cdd= new CacheDependency System.Web.HttpContext.Current.Server.MapPath("PicGallery.xml"));
System.Web.HttpContext.Current.Cache.Insert("PicGalleryType_"+UserName,dv,cdd,DateTime.Now.AddDays(30),TimeSpan.Zero);

这样才可以

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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