ASP.Net中的类型会话变量

问题描述 投票:1回答:1

通常如果我们想使用Sessions我们必须支付拳击和拆箱的费用。有没有办法创建一个在每个会话中实例化的类,我们可以存储和检索我们的欲望数据,也是线程安全的。

c# asp.net performance session thread-safety
1个回答
0
投票

我通常会为我做一个类,并附带一个或两个通用函数:

public static class SessionVariables
{
    private static T Get<T>(string name) => (T)HttpContext.Current.Session[name];

    private static void Set<T>(string name, T value) => HttpContext.Current.Session[name] = value;

    public static string Var1
    {
        get => Get<string>(nameof(Var1));
        set => Set(nameof(Var1), value);
    }
}