zoukankan      html  css  js  c++  java
  • .net 5.0

    NuGet安装

    Microsoft.AspNetCore.Session
    Microsoft.AspNetCore.Http.Extensions

    Startup.cs中注册

    // 添加一个内存缓存
    services.AddDistributedMemoryCache();
    services.AddSession(options =>
    {
        // 设置10秒钟Session过期来测试
        options.IdleTimeout = TimeSpan.FromSeconds(10);
        options.Cookie.HttpOnly = true;
    });
    app.UseSession();

    Controller中使用Session

    HttpContext.Session.SetString("param", str);
    string value = HttpContext.Session.GetString("param");

    非Controller中使用Session

    public class SessionTestClass
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private ISession _session => _httpContextAccessor.HttpContext.Session;
     
        public SomeOtherClass(IHttpContextAccessor httpContextAccessor)
        {
            _httpContextAccessor = httpContextAccessor;
        }
     
        public void Set()
        {
            _session.SetString("code", "123456");
        }
     
        public void Get()
        {
            string code = _session.GetString("code");
        }
    }

    ISession的扩展,存储复杂对象

    public static class SessionExtensions
    {
        public static void SetObjectAsJson(this ISession session, string key, object value)
        {
            session.SetString(key, JsonConvert.SerializeObject(value));
        }
     
        public static T GetObjectFromJson<T>(this ISession session, string key)
        {
            var value = session.GetString(key);
     
            return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
        }
    }

    使用范例:

    var myTestObject = new MyTestClass();
    HttpContext.Session.SetObjectAsJson("SessionTest", myTestObject);
    var myComplexObject = HttpContext.Session.GetObjectFromJson<MyClass>("SessionTest");

    来自:https://www.cnblogs.com/gygtech/p/14669253.html

  • 相关阅读:
    XSS跨站脚本攻击
    PHP 获取客户端ip地址
    Markdown基本语法
    浅谈CSRF攻击方式
    VC++ 中 trycatchfinally 语句 如何在获取正常信息是写一些操作语句
    VC创建Excel报表
    VS2008环境使用MFC操作读取excel文件
    VC常见错误总结(一)
    VC操作Excel文件编程相关内容总结
    VC2010对Excel的操作
  • 原文地址:https://www.cnblogs.com/djd66/p/15205451.html
Copyright © 2011-2022 走看看