Переменная сеанса, установленная в домашнем контроллере, недоступна в другом контроллере + C # - PullRequest
0 голосов
/ 17 января 2019

Мое приложение использует C # + Angular 4.0. Мне нужно установить значение в переменной сеанса, чтобы сохранить роли пользователей, что делается в домашнем контроллере, а затем мне нужно получить доступ к этой переменной сеанса в другом контроллере. При этом я получаю нулевое значение в переменной сеанса.

У меня есть приложение MVC C #, использующее Angular 4.0. Я могу сохранить переменные сеанса в моем контроллере Home, но когда я пытаюсь получить доступ к нему в другом контроллере (для другой страницы), он возвращает null (исключение null), и я не могу использовать его где-либо еще. Чего мне не хватает?

//Home Controller
DataSet dsGroupPermission = new DataSet();

dsGroupPermission = authorizeUser(strGroupResult);

if (dsGroupPermission.Tables.Count > 0 && 
    sGroupPermission.Tables[0].Rows.Count > 0)
{
    System.Web.HttpContext.Current.Session["Dataset"] = dsGroupPermission;
    strUserStatus = "ValidUser";
}

//Another Controller
DataSet dspermission = new DataSet();
dspermission = System.Web.HttpContext.Current.Session["Dataset"];

Я ожидаю, что вышеупомянутая переменная Набор данных Session будет хранить Таблицу, которая показывает авторизацию для пользователя для добавления, обновления или удаления для каждой страницы и получения того же самого обратно в любом другом контроллере.

1 Ответ

0 голосов
/ 18 января 2019

Попробуйте преобразовать переменную сеанса как:

//Another Controller
DataSet dspermission = new DataSet();
dspermission = System.Web.HttpContext.Current.Session["Dataset"] as DataSet;
...