存放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应该程序中。是以文本形式存在放数据库.把对象转换成文本形式.需要类必须为可序列化.两种存储机制不一样,前一种是存放在服务器内存中,后一种以持久化方式存放在数据库中。
解决方案 »
- C#备份数据库 备份成功了,恢复的时候它说因为数据库正在使用,所以未能获得对数据库的排它访问权。
- asp.net 线程 实例 单例模式 的问题
- 如何在数据库里保存图片??
- 如何显示服务器上的图片到客户端网页页面?
- 创建存储过程问题~~
- 如何批量修改控减的属性,个人觉得挑战性很强!!!!!!!!!!!!
- 用SqlCconnection连接本地数据库,它的ConnectionString该怎么写啊???
- 两个叠加的label,如何实现按先后顺序显示呢
- 超级怪现象……
- RequiredFieldValidator的问题
- 上传图片到 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管理的对象内容发生改变.就会序列化.