【问题标题】:Session in a class课堂上的会话
【发布时间】:2012-03-13 07:59:00
【问题描述】:

我有一个类对象,我在其中存储问题列表。我想将此对象保存在会话中。 我可以这样做:

JobApplication _application;
_application = new JobApplication(1);

Session["Application"] = _application;

我也可以通过这个获得会话:

JobApplication obj = (JobApplication)Session["Application"];

所以,我想将类对象(JobApplication _application;)传入一个类并在类中设置会话并返回一个会话。 我可以像现在这样设置和获取吗?

但我宁愿将对象传递到我的会话类中并设置它并从那里获取它。 我不确定如何在 get 和 set 中使用会话。我对 C# 还很陌生

【问题讨论】:

  • 您已经可以从会话中获取/设置(更好地使用属性)。你还需要什么?

标签: c# asp.net properties getter-setter


【解决方案1】:
public class JobApplicantSession
{
    public JobApplication Application 
    {
        get
        {
            return (JobApplication)HttpContext.Current.Session["Application"];
        }
        set
        {
            HttpContext.Current.Session["Application"] = value;
        }
    }
}

【讨论】:

  • 谢谢。我怎样才能从另一个班级获得课程?
【解决方案2】:

请按以下方式操作

 public class JobApplicantSession
    {
       public JobApplicantSession(JobApplication  _application )
       {
         Session["Application"] = _application;
       }

        public JobApplication  GetApplication()
        {
         JobApplication _application = Session["Application"];
         return _application ;
        }

    }

还要确保JobApplication 类具有[Serializable] 属性

【讨论】:

  • “id”参数在里面没有做任何事情。更好的方法名称应该是 GetSessionApplication()
  • 对不起。我在复制时错过了这一点。更新了答案
  • 以类似的方式创建另一个方法“SetSessionApplication(JobApplication application)”
  • 你能再澄清一下吗?我还是不明白你想要什么:(
最近更新 更多