开始并为Session赋值:
Session[“uName”]=“CNYaoMing”;
取值:
string strName = Session[“uName”].ToString();
销毁(取消/退出):
Session.Abandon();//销毁服务器端的Session对象Session.Clear();//清空服务端的Session对象里的键值对,Session对象并没有从Session池里销毁。类似于集合的Clear(),把集合中的内容清空,集合本身还在。
禁用Cookie后使用Session
在WebConfig文件中配置:
<system.web>
<compilation debug="false" targetFramework="4.0" />
<sessionState cookieless="AutoDetect"></sessionState>
</system.web>
<!--配置禁用cookie,使用url来保持Session-->
<sessionState cookieless="true">
</sessionState>
<!--配置自己的SessionID的键-->
<sessionState cookieless="false" cookieName="MyAsp_NetSessionID">
</sessionState>
-》Session
《1》每个浏览器在第一次访问服务器时,都会由服务器创建一个Session对象
《2》在创建Session对象时,都会生成一个唯一的编号
《3》在创建Session对象时,会向浏览器中写一个Cookie,值就是Session对象的编号Session_Id
-》Session对象是HttpSessionState类型,是一个键值对集合对象
主要属性:TimeOut,SessionId,Count
主要方法:Clear(),Abandon()
-》示例1:跨页面共享信息
查看报文,了解存储方式
-》关于SessionId属性:表示会话的标识
如果使用过Session,则客户端会以SessionId为键在Cookie中存储信息,每次请求时,这个信息都会在请求头的Cookie中被提交到服务器,服务器会认为这是一次会话
如果未使用过Session,客户端不会存储会话信息,请求头中没有关于Session的Cookie信息,则认为这是一次新的请求,会生成一个新的SessionId
-》大多数情况下,session依赖于cookie
如果cookie被禁用,则session也就不能用了
session的编号被存储到cookie中
-》缺陷:会造成服务器端压力过大等问题,推荐去session化而采用分布式缓存
-》说明:默认在ashx中是不能使用session的
接口IRequiresSessionState:并没有实现任何功能,只是告诉Application在走到第七个事件时,为一般处理程序启用session功能
SessionWrite.aspx
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SessionWrite.aspx.cs" Inherits="t4_State.SessionWrite" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 <%=Session.SessionID %> 14 <hr /> 15 <a href="SessionRead.aspx">读Session</a> 16 </div> 17 </form> 18 </body> 19 </html>
1 public partial class SessionWrite : System.Web.UI.Page 2 { 3 protected void Page_Load(object sender, EventArgs e) 4 { 5 Session["xlb"] = "小龙包"; 6 } 7 }
SessionRead.aspx
1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SessionRead.aspx.cs" Inherits="t4_State.SessionRead" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 8 <title></title> 9 </head> 10 <body> 11 <form id="form1" runat="server"> 12 <div> 13 <%=Session["xlb"] %> 14 </div> 15 </form> 16 </body> 17 </html>
原文:http://www.cnblogs.com/ninghongkun/p/6291252.html