存放session中的变量是有生命周期的.一般1分钟左右会检测一次.测量时间可以使用Global.asax中
Session_Start Session_End 来测量系统多长时间来检测session是否过期时间.
设置 seession 过期时间为30秒. 如果系统为1分钟为检测一次.则1分钟才触发Session End事件.如果session过期则销毁.-------------------------------------------------------------------------------------
在session存储设置为存储于sqlserver中的WEB应该程序中。是以文本形式存在放数据库.把对象转换成文本形式.需要类必须为可序列化.两种存储机制不一样,前一种是存放在服务器内存中,后一种以持久化方式存放在数据库中。
Session_Start Session_End 来测量系统多长时间来检测session是否过期时间.
设置 seession 过期时间为30秒. 如果系统为1分钟为检测一次.则1分钟才触发Session End事件.如果session过期则销毁.-------------------------------------------------------------------------------------
在session存储设置为存储于sqlserver中的WEB应该程序中。是以文本形式存在放数据库.把对象转换成文本形式.需要类必须为可序列化.两种存储机制不一样,前一种是存放在服务器内存中,后一种以持久化方式存放在数据库中。
解决方案 »
- 当Application被回收,静态类中的资源会不会同时被回收?
- 这个简单的功能如何实现,
- IE打不开Menu问题....
- ASP.NET GRIDVIEW 分页问题 在线等
- 问一个版主,将贴子提前必须具备什么条件?都被搞晕了
- 共享资源(用C#写的数据访问类)+祝贺儿子周岁生日+散分
- 怎么样在DataList中加上一个删除按钮阿
- 求教高手们,我想用递归写一个树型菜单,能帮我看看下面的代码错在哪里吗,
- 请教asp.net 2.0
- 请大家侃侃!!窗口位置和对话框大小问题
- 上传图片到 photo文件夹,在本机运行正常,但上传到服务器以后出现错误
- 超级郁闷的xmlhttp结果获取问题,朋友门帮看看 XX了
..不太清楚。。up
结果显示为"changed" 由此我得出结论,SESSION中存的为一个地址; 但另一种情况又让我无法解释??
在session存储设置为存储于sqlserver中的WEB应该程序中。我将一对象存于Session中,对象的类必须为可序列化的,既然只是存一个地址的话,为何要要求类可序列化,这让我感觉SESSION中存储又应该是数据本身 ----------------------------------
当会话存储在SQL SERVER数据库中,每个WEB请求结束时在客户端的SESSION集合中序列化并保存所有对象..当客户端重新访问服务器时..相关的辅助进程从状态服务器中以二进制流的形式检索这些对象.请它们反序列化为实时实例,并将它们放置回对请求处理程序的新Session集合对象中.
-------------------------------
SESSION的三种存储模式要理解清楚...
结果显示为"changed"由此我得出结论,SESSION中存的为一个地址;但另一种情况又让我无法解释??
在session存储设置为存储于sqlserver中的WEB应该程序中。我将一对象存于Session中,对象的类必须为可序列化的,既然只是存一个地址的话,为何要要求类可序列化,这让我感觉SESSION中存储又应该是数据本身----------------------------------
当会话存储在SQL SERVER数据库中,每个WEB请求结束时在客户端的SESSION集合中序列化并保存所有对象..当客户端重新访问服务器时..相关的辅助进程从状态服务器中以二进制流的形式检索这些对象.请它们反序列化为实时实例,并将它们放置回对请求处理程序的新Session集合对象中.
-------------------------------
SESSION的三种存储模式要理解清楚...
______________________________________________________________________________________
多谢回答,在用SQLSERVER存储时,我们到SESSION中的对象取出,做以下操作:userEntity u=(userEntity)Session["user"];
u.Name="changed";而不写以下语句:
Session["user"]=u;
也就是说不显式的把对象再存回SESSION变量中,但我在另一个页面重新访问SESSION变量,得到NAME属性的值也还会变成"changed",,这是为什么呀??难道
userEntity u=(userEntity)Session["user"];
u.Name="changed";
这样的语句就可以导致SESSION机制更新存储于SQLSERVER中的序列化后的值吗??按我的理解,应该要显式的写出
Session["user"]=u;这样的语句,才会让SQLSERVER更新序列化值呀??请高手解答
userEntity u=(userEntity)Session["user"];
u.Name="changed"; 而不写以下语句:
Session["user"]=u;
也就是说不显式的把对象再存回SESSION变量中, 但我在另一个页面重新访问SESSION变量,得到NAME属性的值也还会变成"changed",,这是为什么呀?? 难道
userEntity u=(userEntity)Session["user"];
u.Name="changed";
这样的语句就可以导致SESSION机制更新存储于SQLSERVER中的序列化后的值吗??按我的理解,应该要显式的写出
Session["user"]=u;这样的语句,才会让SQLSERVER更新序列化值呀??请高手解答 --------------------------------------------------------------------------------------------
Session["user"] 中存放的是实体对象引用地址.userEntity u=(userEntity)Session["user"];
u存放的也是实体引用地址 与 Session["user"] 存放的是一致的.u与Session["user"]都是指向一个内存地址.进程检测到Seesion管理的对象内容发生改变.就会序列化.