[求助]HttpRuntime.Cache.Insert 方法里不能带out吗?

nikolas 2008-07-07 01:32:12
public static ArrayList NewsList(int id)
{
string cachekey = "NewsList" + id.ToString();
if(HttpRuntime.Cache[cachekey] == null)
{
HttpRuntime.Cache.Insert(cachekey,Test.DAL.NewsList(id),null,DateTime.Now.AddHours(1),TimeSpan.Zero);
}
return (ArrayList)HttpRuntime.Cache[cachekey];
}

上面的编译可以通过

下面的为什么不能通过?
public static ArrayList NewsList(int id,out int num)
{
string cachekey = "NewsList" + id.ToString();
if(HttpRuntime.Cache[cachekey] == null)
{
HttpRuntime.Cache.Insert(cachekey,Test.DAL.NewsList(id,out num),null,DateTime.Now.AddHours(1),TimeSpan.Zero);
}
return (ArrayList)HttpRuntime.Cache[cachekey];
}
...全文
184 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nikolas 2008-07-07
  • 打赏
  • 举报
回复
是的,这个num是查询数据库得出的数值,我一定要得到真实值才行的。
看来不行了。

Jinglecat 2008-07-07
  • 打赏
  • 举报
回复
方法必须对 out 参数进行初始化!!!

当你的 (HttpRuntime.Cache[cachekey] == null) 成立的时候 num 就不是 0 了
nikolas 2008-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Jinglecat 的回复:]
public static ArrayList NewsList(int id,out int num)
{
num = 0;
string cachekey = "NewsList" + id.ToString();
if(HttpRuntime.Cache[cachekey] == null)
{
HttpRuntime.Cache.Insert(cachekey,Test.DAL.NewsList(id,out num),null,DateTime.Now.AddHours(1),TimeSpan.Zero);
}

return (ArrayList)HttpRuntime.Cache[cachekey];
}
[/Quote]

把 num 固定为0了,这个不符合我的要求啊。
没其它办法了吗?
Jinglecat 2008-07-07
  • 打赏
  • 举报
回复
public static ArrayList NewsList(int id,out int num)
{
num = 0;
string cachekey = "NewsList" + id.ToString();
if(HttpRuntime.Cache[cachekey] == null)
{
HttpRuntime.Cache.Insert(cachekey,Test.DAL.NewsList(id,out num),null,DateTime.Now.AddHours(1),TimeSpan.Zero);
}

return (ArrayList)HttpRuntime.Cache[cachekey];
}
Jinglecat 2008-07-07
  • 打赏
  • 举报
回复
这与 Cache.Insert 没有关系,是你的 NewsList(int id) 根本就没有 out类型 参数
nikolas 2008-07-07
  • 打赏
  • 举报
回复
有什么办法可以缓存带out的方法吗?

62,195

社区成员

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

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

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

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