Session学习笔记

来源:互联网 发布:强力删除软件 编辑:程序博客网 时间:2024/04/30 14:26

ASP.NET中服务器端Session状态的存储

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Session.aspx.cs" Inherits="Session" EnableSessionState="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Session添加与判断</title>
</head>
<body>
      <script runat="server">
        void Session_Add(Object sender,EventArgs e){
           Session["MySession"] = txt.Value;
           txtResult.Value = "Session data updated!Your session contains:"+ Session["MySession"].ToString();
        }

        void CheckSession(Object sender, EventArgs e)
        {
          if (Session["MySession"].ToString()=="")
          {
            txtResult.Value = "NOTHING, SESSION DATA LOST!";
          }
          else
          {
            txtResult.Value = "Your session contains:"+Session["MySession"].ToString();
          }
        }
        </script>
        <form runat="server" id="Form1">
            <input id="txt" type="text" runat="server" name="text1">
           <input type="submit" runat="server" OnServerClick="Session_Add" value="Add to Session State" id="Submit1" name="Submit1">
           <input type="submit" runat="server" OnServerClick="CheckSession" value="View Session State" id="Submit2" name="Submit2">
        <hr size="1">
        <input id="txtResult"   type="text" name="txtResult" runat=server size="50"/>
       
        </form>
        </body>
</html>

这个SessionState.aspx的页面可以用来测试在当前的服务器上是否丢失了Session信息。

!!!在书上和网上看到的都不是很清晰,可能是VB格式的,在网上也没有找到称心的,还是自己写的好啊!

!!!适用于VS.NET2008,刚刚调试过,;-)

!!!后边的话是人家说的了,不过也是创新嘛!至少程序是我自己写的。

 

因为Session对象具有进程依赖性,每当打开一个IE浏览器时就相当于重新开启了一个进程。此时访问Web服务器,服务器端会自动重新分配一个新的SessionID给客户端。
也就是说,当与该SessionID相关的所有IE窗口都关闭,Session对象也不是以Cookie形式存储在客户端的情况下,重新打开IE浏览器时,客户端会丢失SessionID.
如果将Session的这一特点有效地利用好,将会给Web开发带来很大的便利。
原创粉丝点击