.NetCore——Session简单的使用
一、在Startup.cs中进行注册配置
如图中箭头所指在Startup.cs中的ConfigureServices方法中先进行session的注册
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30);
});
这样可以设置session的过期时间
然后在Configure方法中写入app.UseSession();
二、调用
在控制器中
HttpContext.Session.SetString(),
HttpContext.Session.GetString()
进行写入/读取
三、扩展类
创建SessionExtensions.cs类文件
/// <summary>
/// 写入session
/// </summary>
/// <param name="session"></param>
/// <param name="key"></param>
/// <param name="value"></param>
public static void SetSessionAsJson(this ISession session, string key, object value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
/// <summary>
/// 读取session
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="session"></param>
/// <param name="key"></param>
/// <returns></returns>
public static T GetSessionFromJson<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
}
然后在控制器中进行调用,调用方式同上边,写入/读取的时候选择自己扩展的方法就ok了!
还望各位大佬多多赐教!