现在有个疑问
假如现在有个登陆页面 每次登陆的时候用seesion["userName"]=登陆名; 用 Session保存用户名;
如果这个软件有很多人在使用登陆的时候会不会混淆啊! 详细介绍一下Session保存值的原理! 谢谢
假如现在有个登陆页面 每次登陆的时候用seesion["userName"]=登陆名; 用 Session保存用户名;
如果这个软件有很多人在使用登陆的时候会不会混淆啊! 详细介绍一下Session保存值的原理! 谢谢
参考
在cookie中有一个叫做ASP.NET_SessionId的,它保存了SessionID。当你的程序向Session集合中写数据之前,asp.net每一次会重新随机生成这个值。这个“随机”,基本上可以认为平均几千年才有可能出现世界上两个值恰好相同的情况。直到你的程序把一个数据保存到Session集合,asp.net就不再修改这个值了,于是SessionID就不再改变了。实际上,当客户端请求服务器,asp.net是创建了一个Session集合,然后把当前SessionID对应的所有Session集合项目写入这个集合。然后当页面声明周期结束,当前的Session集合就释放了。等下一次再请求,再重建。当asp.net应用程序重启时,整个网站的内存数据丢失了,Session集合中的数据当然也就是空的了。但是此时SessionID并不会丢失,因为它来自于cookie数据,不是服务器内存中的数据。
<script runat="server"> protected void Button2_Click(object sender, EventArgs e)
{
Session["12213123"] = "test";
} protected void Page_PreRender(object sender, EventArgs e)
{
this.Label1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text='<%# "SessionID="+Session.SessionID %>'
EnableViewState="false" />
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" />
</form>
</body>
</html>