gpt4 book ai didi

c# - 如何创建 C# session 对象包装器?

转载 作者:太空狗 更新时间:2023-10-30 00:00:39 24 4
gpt4 key购买 nike

我如何创建一个类库,我可以在其中像 IIS Session 对象一样获取和设置我使用 var x = objectname("key") 获取value 或 objectname("key") = x 设置值?

最佳答案

通常我只有一个静态类来包装我的 session 数据并使其类型安全,例如:

public static class MySessionHelper
{
public static string CustomItem1
{
get { return HttpContext.Current.Session["CustomItem1"] as string; }
set { HttpContext.Current.Session["CustomItem1"] = value; }
}

public static int CustomItem2
{
get { return (int)(HttpContext.Current.Session["CustomItem2"]); }
set { HttpContext.Current.Session["CustomItem2"] = value; }
}

// etc...
}

然后当我需要获取或设置一个项目时,你只需执行以下操作:

// Set
MySessionHelper.CustomItem1 = "Hello";

// Get
string test = MySessionHelper.CustomItem1;

这就是您要找的吗?

编辑:根据我对您问题的评论,您不应直接从应用程序中的页面访问 session 。包装类不仅可以使访问类型安全,还可以为您提供一个中心点来进行所有更改。通过使用包装器的应用程序,您可以随时轻松地将 Session 换成您选择的数据存储,而无需更改使用该 session 的每个页面。

我喜欢使用包装类的另一件事是它记录了存储在 session 中的所有数据。下一位程序员只需查看包装类即可看到存储在 session 中的所有内容,因此您不太可能多次存储相同数据或重新获取已缓存在 session 中的数据。

关于c# - 如何创建 C# session 对象包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2322008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com