У меня есть несколько сессий в ASP.net, как следует. В файле Test.aspx.cs есть какой-то сеансКак получить значение сеанса в классе в любом месте?
HttpContext.Current.Session["Id"] = obj.USER_MOD_ID;
HttpContext.Current.Session["Group"] = obj.GROUP_MOD_ID;
HttpContext.Current.Session["Region"] = obj.REGION_ID;
И тогда я создать некоторый класс, я хочу, чтобы получить значение сессии.
Во-первых, я создать класс MySession.cs
public class MySession
{
// private constructor
private MySession()
{
value_group = "Group";
//value_id = "Id";
//value_region = "Region";
}
// Gets the current session.
public static MySession Current
{
get
{
MySession session =(MySession)HttpContext.Current.Session["Group"];
if (session == null)
{
session = new MySession();
HttpContext.Current.Session["Group"] = session;
}
return session;
}
}
// **** add your session properties here, e.g like this:
public string value_group { get; set; }
//public string value_id { get; set; }
//public string value_region { get; set; }
}
Во-вторых, я создать класс Test.cs и я хочу получить значение сессии
string value_group = MySession.Current.value_group.ToString();
//string value_id = MySession.Current.value_id.ToString();
//string value_region = MySession.Current.value_region.ToString();
Но получить ошибку
Object reference not set to an instance of an object
Спасибо, ребята.
Почему вы назначаете 'MySession' вашему' HttpContext.Current.Session ["Group"] '? Вы уже установили в нем значения и хотите получить к нему доступ. Или нет? Пожалуйста, опишите, что вы собираетесь хранить там, что такое 'obj.GROUP_MOD_ID' (это строка)? –
Код @YeldarKurmangaliyev выглядит несколько разумным - класс-оболочка вокруг доступа к значениям сеанса - не уверен, почему вы считаете этот код неправильным. Моя догадка с вероятностью 97% - ОП пытается получить доступ к «HttpContext.Current» вне запроса (т. Е. В некотором модульном тестовом коде). –
@AlexeiLevenkov Возможно, я просто не понимаю. Вот почему я задал ему вопрос. Что касается меня, теперь значение value_group присваивается из постоянной величины «Группа», «MySession» перезаписывает ранее установленное значение «obj.GROUP_MOD_ID'». Возможно, я ошибаюсь, но это не так, как должно быть написано обертка значений сеанса :) –