.Net Core Session使用

Sessiong

  1. 添加程序集 Microsoft.AspNetCore.Session
  2. 在Startup.cs 的 ConfigureServices中添加Session中间件设置
// session 设置
services.AddSession(options =>
{
    // 设置 Session 过期时间
    options.IdleTimeout = TimeSpan.FromDays(90);
    options.CookieHttpOnly = true;
});
  1. 在Startup.cs 的 Configure中添加Session服务
// 要添加在MVC服务前面
app.UseSession();
  1. 设置Session数据
// 这是一个拓展方法 将字符串直接设置为Session的值
HttpContext.Session.SetString("Key", Value);
// 这里的Value 需要一个 byte[]
HttpContext.Session.Set("Key", Value);
  1. 获取Session的值
// 这里用的的C# 7.0的语法 out 可以直接声明使用
loigncontext.HttpContext.Session.TryGetValue("Key", out byte[] Value);
// 将获取的byte[] 转换为字符串
var str = System.Text.Encoding.UTF8.GetString(Value)
// 

*1. 将对象转换为byte[]

// 对象先转换为 json对象字符串 需要(using Newtonsoft.Json;)
string json = JsonConvert.SerializeObject(obj);
            byte[] serializedResult = 
//json对象字符串转为byte[]
System.Text.Encoding.UTF8.GetBytes(json);

*2. 将byte[]转换为对象

// byte[]先转换为json对象字符串
var strJson = System.Text.Encoding.UTF8.GetString(buff);
// 把json对象字符串转换为指定对象 需要using Newtonsoft.Json;
JsonConvert.DeserializeObject<obj>(strJson)

*3. 将byte[]转换成对象

/// <summary>
/// 将byte[]转换成对象
/// </summary>
/// <param name="buff">要转换byte[]</param>
/// <returns>转换完成后对象</returns>
public static T Bytes2Object<T>(byte[] buff)
{
    string json = System.Text.Encoding.UTF8.GetString(buff);
// 这个方法需要 using Newtonsoft.Json;
    return JsonConvert.DeserializeObject<T>(json);
}

转载于:https://www.cnblogs.com/YLPeach/p/6686795.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值