一、概述
Session用于存储特定的用户会话所需的信息 。
二、Session数据存放的位置和形式
web.config 配置节点语法:
<system.web>
<sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"
/>
</system.web>
mode:设置将Session信息存储到哪里
Off:不使用Session功能;
InProc :将Session存储在IIS进程内,这是默认值,也最常用(优点是简单,性能最高。但是当重启IIS服务器时Session丢失。);
StateServer :将Session存储在ASP.NET状态服务进程中(重新启动Web应用程序时保留会话状态,并使会话状态可以用于网络中的多个Web服务器。);
SQLServer :将Session存储在SQL Server中(存储在内存和磁盘中,服务器挂掉重启后都还在)。
三、Session的curd操作
//写入
Session["UserName"] = "joye888";
//读取
var userName = Session["UserName"].ToString();
Response.Write(userName);
Session.Clear();//不结束会话
四·举例说明
1.创建一个页面,叫XieRuSession.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication6
{
public partial class XieRuSession : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//写入Session的
Session["Name"] ="张三";
Session["Email"] ="88@qq.com";
Response.Write("写入Session");
}
}
}
2.再创建一个页面,叫DuQuSession.aspx
protected void Page_Load(object sender, EventArgs e)
{
//读取Session的
var Name = Session["Name"].ToString();
var Email= Session["Email"].ToString();
Response.Write("读取Session,Name的值"+Name+"Email的值"+Email);
// Session["Name"].Remove();
//Session["Email"].Remove();
//使用结束要清除Session中的值
}
这是使用Session传递数值