一、Session.Add 名称相同时,不会重复,而是覆盖。
Session.Add("s1", 1); Session.Add("s1", 2); // s1 最终只有一个值,就是 2。
二、名称忽略大小写。
Session.Add("s1", 1); Response.Write(Session["S1"]); // 值为 1
三、Session Add 后立刻就可取到值(Remove 同理),这点不同于 Cookie,Cookie 要等到下个页面才有。
Session.Add("s1", 1); Response.Write(Session["s1"] == null); // False,它不为 null
四、存储的 Session 数据类型为 object,最好用 Convert 转换。
Convert.ToInt32(Session["s1"]);
如果转换为 string 最好用 Convert.ToString(),而不是 Session["s1"].ToString(),因为如果 Session 为 null,用后法就会报错。
HttpContext.Current.Session 为何为 null?
五、在类中使用 Session。
System.Web.HttpContext.Current.Session
六、Session.Remove(name)
name 对应的 Session 不存在时,Remove 会出错吗?不会。
相关阅读