判断用户会话已经结束是Context.User.Identity.Name还是Session? 本帖最后由 somethingma 于 2009-12-30 23:03:37 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 经过几天查找和分析,我对自己问题的解答如下,供有同样困惑的网友参考。问题得分情况解答:(1)如果设置cookie是非持久性的,使用Context.User.Identity.Name == null和Session["xxxxx"]==null判断等效,即会话过期或者关闭网页,这两者都会变成null。(2)如果设置cookie是持久性的,两者效果不同。Session["xxxxx"]在会话过期或者关闭网页后将变成null,而Context.User.Identity.Name 会根据cookie失效时间到期后变成null的。结论:到底选择哪个,根据实际需求选择。如果碰到Session容易丢失并且安全要求比较高的话,可以考虑使用StateServer和SQL Server存储session。 Asp。Net中FileUpLoad控件的上传下载!(源码示例) 1 对 N 订单系统设计讨论 提一个GridView的弱问题 一个非常困惑的问题 如何变更MemberShip默认使用的数据表结构?? 求一正则表达式:匹配58126中3个或3个以上数字的5位数 初学asp.net,请求帮助 请教大神们帮忙解决一个问题,很感激 dataview和dataview.table的关系,大家帮忙 关于text的传值,着急!我把一个字段的直赋给text!字节多就是空的拉! asp 网页 在gridview中直接显示出更新之后的整个表的情况 求google地图的帮助文档
问题得分情况解答:
(1)如果设置cookie是非持久性的,使用Context.User.Identity.Name == null和Session["xxxxx"]==null判断等效,即会话过期或者关闭网页,这两者都会变成null。
(2)如果设置cookie是持久性的,两者效果不同。Session["xxxxx"]在会话过期或者关闭网页后将变成null,而Context.User.Identity.Name 会根据cookie失效时间到期后变成null的。
结论:到底选择哪个,根据实际需求选择。如果碰到Session容易丢失并且安全要求比较高的话,可以考虑使用StateServer和SQL Server存储session。