ASP.net Session原理「建议收藏」

ASP.net Session原理「建议收藏」1.创建SessionMgr类usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;//////SessionMgr的摘要说明///publicclassSessionMgr{privatestaticIDiction

大家好,又见面了,我是你们的朋友全栈君。1.创建SessionMgr类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
///SessionMgr 的摘要说明
/// </summary>
public class SessionMgr
{

  
    private static IDictionary<string, IDictionary<string, object>> data = new Dictionary<string, IDictionary<string, object>>();
    public static IDictionary<string, object> GetSession(string sessionId)
    {
        if (data.ContainsKey(sessionId))
        {
            return data[sessionId];
        }
        else
        {
            IDictionary<string, object> session = new Dictionary<string, object>();
            data[sessionId] = session;
            return session;
        }
    }

    public static IDictionary<string, object> GetSession()
    {
        throw new NotImplementedException();
    }

}

2.页面读取服务端Session

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class sessionweb : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Cookies["MySessionId"] == null)
        {
           string sessionId = Guid.NewGuid().ToString();
            Response.SetCookie(new HttpCookie ("MySessionId",sessionId ));
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string sessionId = Request.Cookies["MySessionId"].Value;
        IDictionary <string ,object > session= SessionMgr.GetSession(sessionId );
        session["服务端"] = "333";
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        string sessionId = Request.Cookies["MySessionId"].Value;
        IDictionary<string, object> session = SessionMgr.GetSession(sessionId );
       Button2 .Text  = Convert.ToString(session ["服务端"]);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159547.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA多线程实现的三种方式

    JAVA多线程实现的三种方式

    2022年1月20日
    48
  • JS–比想象中简单

    JS–比想象中简单JS–比想象中简单

    2022年4月24日
    52
  • required属性的作用_required的作用

    required属性的作用_required的作用1,required属性-表示字段不能为空(注意:只有用户单击“提交”按钮提交表单的时候,浏览器才会执行验证。目前HTML5不支持指定验证的时间,而且验证消息的样式和内容各个浏览器不大一样,不能修

    2022年8月3日
    7
  • Windows服务器IIS搭建网站

    Windows服务器IIS搭建网站概述:以下总结了学习IIS搭建网站的方法,先从基本使用IIS搭建网站,到本地使用域名访问网站,再配置路由器实现外网IP访问内网网站,以及使用动态域名外网访问内网网站,最后配置不同域名(IIS也叫主机名),相同IP,相同端口(80)的不同的网站的访问(注意域名不备案外网无法访问)!即输入以下域名可以访问相同端口(80)但不同的网站:127.0.0.1/test1——&gt;www.g…

    2022年5月20日
    135
  • CAN通信的数据帧和远程帧「建议收藏」

    (先来一波操作,再放概念)远程帧和数据帧非常相似,不同之处在于:(1)RTR位,数据帧为0,远程帧为1;(2)远程帧由6个场组成:帧起始,仲裁场,控制场,CRC场,应答场,帧结束,比数据帧少了数据场。(3)远程帧发送特定的CANID,然后对应的ID的CAN节点收到远程帧之后,自动返回一个数据帧。环回模式下(方便调试用),设置为发送远程帧:STM32端通过J-LinkRT…

    2022年4月6日
    351
  • “word在试图打开文件时遇到错误”解决办法,亲测可用

    “word在试图打开文件时遇到错误”解决办法,亲测可用打开word文档时,出现以下报错:解决办法:步骤一:步骤二:步骤三:步骤四:步骤五:步骤六:步骤七:步骤八:点击【确定】即可。…

    2022年4月29日
    74

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号