.Net6 使用Session/字符串与 byte[] 互转
添加session支持
在
var app = builder.Build();
前面添加
builder.Services.AddDistributedMemoryCache();//启用内存缓存
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(5);//设置session过期时间
options.Cookie.IsEssential = true;
});
在
app.Run();
前面添加
app.UseSession(); //添加会话中间件
保存 Session
需要将字符串转为
byte[]
类型
var key="123456";
HttpContext.Session.Set("key", key.ToByteArr());
读取 Session
读取出来的数据为
byte[]
类型
var str= HttpContext.Session.Get("key").BToString();
字符串与 byte[] 互转
字符串转 byte[]
public static byte[] ToByteArr(this string t)
{
byte[] str_byte = new byte[t.Length];
char[] str1 = new char[t.Length];
t.CopyTo(0, str1, 0, t.Length);
for (int i = 0; i < str1.Length; i++) str_byte[i] = Convert.ToByte(str1[i]);
return str_byte;
}
byte[] 转字符串
public static string? BToString(this byte[] arr,string e="utf-8")
{
if(arr == null) return null;
string str = System.Text.Encoding.GetEncoding(e).GetString(arr);
return str;
}