01-009 HttpAbstractions 之 SessionCollectionExtensions
Posted on 2015-03-06 14:37 DotNet1010 阅读(127) 评论(0) 收藏 举报 public static void SetInt(this ISessionCollection session, string key, int value)
{
var bytes = new byte[]
{
(byte)(value >> 24),
(byte)(0xFF & (value >> 16)),
(byte)(0xFF & (value >> 8)),
(byte)(0xFF & value)
};
session.Set(key, bytes);
}
public static int? GetInt(this ISessionCollection session, string key)
{
var data = session.Get(key);
if (data == null || data.Length < 4)
{
return null;
}
return data[0] << 24 | data[1] << 16 | data[2] << 8 | data[3];
}
上述两个方法分别为 把 int 转化为byte[] 和 把byte[] 转换为 int 的方法。
该类并没有实现 long 类型的存储。
本来想用 左移 右移 来实现的,怎么基础比较差:还是用现成的轮子吧:
public static void SetLong(this ISessionCollection session, string key, long value)
{
var bytes = BitConverter.GetBytes(value);
session.Set(key, bytes);
}
public static long? GetLong(this ISessionCollection session, string key)
{
var data = session.Get(key);
if (data == null || data.Length < 8)
{
return null;
}
return BitConverter.ToInt64(data, 0);
}
浙公网安备 33010602011771号