关于session的存储问题

notus 2004-10-02 11:05:45
1.session是不是既不保存于堆中,也不保存于栈中,而是保存在一块特殊的区域?
2.如果把一个对象存到session里面,session里存的是引用,还是完全的这个对象的值?

我觉得好象是保存的引用
-----------------------------------------------------------------------
if(Session["stxx"]==null)
{
StoreList sl=new StoreList();
Session["stxx"]=sl;
}
StoreList sls=(StoreList)Session["stxx"];
sls.Add(st);
/ ssion["stxx"]=sls;
本来我以为session里放的是具体的值,所以我加了最后一句,这样sls.Add(st)后再把值保存回去,保持同步
可是我把最后一个注释掉了后,这样我每次sls.Add(st),session里的值也相应的增加,如果session里不是引用的话,那就不可能也跟着增加,是吧?
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyhx 2004-10-02
  • 打赏
  • 举报
回复
session 可以保存在三个位置:
1、在进程中(InProc),与.net程序运行在同一进程中。
2、在SQL Server中
3、通过Asp.net StateServer服务存放在服务器上。(默认不启动)
可以通过web.config设置sessionstate节的值。
brightheroes 2004-10-02
  • 打赏
  • 举报
回复
usherlight 2004-10-02
  • 打赏
  • 举报
回复
sls是session里一个值的引用。
xiaohutushen 2004-10-02
  • 打赏
  • 举报
回复
up
notus 2004-10-02
  • 打赏
  • 举报
回复
to : brightheroes(闭关|那一剑的风情)

是session里保存了引用,还是sls这个值保存了对session的引用啊?

62,046

社区成员

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

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

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

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