排名
1
文章
873
粉丝
112
评论
163
.net core自定义项目模板,创建自己的模板项目,使用命令行创建模板项目
尘叶心繁 : 可以可以讲真的我都想弄个模板
net core webapi post传递参数
庸人 :
确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 : 已精
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 :
疯狂反射
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

net core中session本身是不支持存储对象的,默认提供的方法只能存储字节数组,估计也是为了跨平台吧,
让session支持存储对象其实也很简单就把对象序列化后存储字符串就行了嘛。
- using Microsoft.AspNetCore.Http;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Newtonsoft.Json;
-
- namespace TNBLOG_Tools.Extands
- {
- public static class SessionExtend
- {
- /// <summary>
- /// 存储对象
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="session"></param>
- /// <param name="key"></param>
- /// <param name="value"></param>
- public static void SetObj<T>(this ISession session, string key, T value)
- {
- string jsonstr = JsonConvert.SerializeObject(value);
- byte[] byteArray = Encoding.Default.GetBytes(jsonstr);
- session.Set(key, byteArray);
- }
-
- /// <summary>
- /// 获取一个对象
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="session"></param>
- /// <param name="key"></param>
- /// <returns></returns>
- public static T Get<T>(this ISession session, string key)
- {
- byte[] byteArray;
- bool isvalue = session.TryGetValue(key, out byteArray);
- if (isvalue)
- {
- string str = Encoding.Default.GetString(byteArray);
- T val = JsonConvert.DeserializeObject<T>(str);
- return val;
- }
- else
- {
- return default(T);
- }
- }
- }
- }
tip:这里由于我是在一个独立的类库中写的扩展方法,所以需要引入session所在的类库,以及转化成json需要的类库Newtonsoft.Json
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价