gpt4 book ai didi

c# - 在 ASP.Net 中包装 session 状态的首选方法是什么?

转载 作者:行者123 更新时间:2023-11-30 15:47:33 25 4
gpt4 key购买 nike

我有一个使用 session 状态的 ASP.Net 项目,我想对我们如何访问 session 状态更严格一点,我对代码周围 float 的所有字符串不满意。我还需要知道何时在 session 状态中存储/更新特定值以跟踪该对象的最新值。

字符串问题使用常量很容易解决,但对跟踪没有帮助。将它们全部封装在一个类中很吸引人,但是我必须将 session 对象传递给那个类,这看起来有点乱

我正在考虑使用以下两个选项之一:

  1. session 对象上的扩展 getter 和 setter
  2. session 对象的扩展方法,用于返回带有 getter 和 setter 的类

第一个给了我语法:

var thing = Session.GetThing();
Session.SetThing(thing);

第二个给出:

var thing = Session.Wrapper().Thing;
Session.Wrapper().Thing = thing;

两者都有其吸引力,但我倾向于第二种。在理想的世界中,我希望能够做到这一点:

var thing = Session.Thing(); // easy to do
Session.Thing() = thing; // don't think it's possible

处理此问题的首选方法是什么?这些中的任何一个,换一种方式,还是我只是做错了?

最佳答案

您不必将 Session 传递给每个类(class),您可以:

public class State
{
public string Something
{
get { return HttpContext.Current.Session["Something"] as string; }
set { HttpContext.Current.Session["Something"] = value; }
}
}

我相信这是典型的方法。 HttpContext具有静态可用的 Current 属性。

关于c# - 在 ASP.Net 中包装 session 状态的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3481473/

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