在ASP.Net中键入会话变量

时间:2019-04-29 07:17:40

标签: c# asp.net performance session thread-safety

通常,如果我们要使用Sessions,则必须支付装箱和拆箱的费用。没有任何方法可以创建在每个会话中实例化的类,我们也可以存储和检索我们的期望数据,并且也具有线程安全性。

1 个答案:

答案 0 :(得分: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);
    }
}