当用户请求网页时,服务器会检查是否存在这个用户的SessionID,如果用户有有效的SessionID,就代表用户处于一定的活动状态,并允许用户继续操作这个应用程序,如果没有SessionID,服务器对象会创建一个Session对象。
Session对象用于存储用户的信息,而这个信息是从用户登录开始,一直生存到用户关闭浏览器才会消失,当再次打开浏览器时,又会重新创建。
在ASP.NET中,Session的存储方式有三种
使用那种存储方式是在Web.config文件中进行设置的,先来看Web.config中关于Session的一段代码片断:
<sessionState mode="InProc" cookieless="false" timeout="20" />
还有一种Mode的值为StateServer,这种模式的特别之处是,重新启动IIS时,所保存的Session值是不会丢失的。
最后一种Mode属性的值为SQL Server,它是指该会话状态保存在有SQL Server数据库的计算机上,并且当数据库重启服务时,会话数据依然会保留。
利用Sesson传递用户登陆信息。核心代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
if (this.TextBox1.Text.Trim() != "")
{
Session["username"] = this.TextBox1.Text.Trim();
this.Response.Redirect("Default.aspx");
}
else
{
this.Literal1.Text = "请输入昵称!";
}
}