Ошибка ссылки на объект, даже если объект не нулевой - PullRequest
0 голосов
/ 27 мая 2010

У меня есть приложение, в котором у меня есть функция «Запомнить меня» для экрана входа в систему. Я делаю это путем создания файла cookie, когда пользователь входит в систему в первый раз, поэтому в следующий раз, когда пользователь заходит на сайт, я получаю файл cookie и загружаю информацию о пользователе.

Я написал код для загрузки информации о пользователе в общем классе в папке App_Code ... и все мои страницы наследуются от этого класса.

код для загрузки информации о пользователе выглядит следующим образом:

public static void LoadUserDetails(string emailId)
{
    UsersEnt currentUser = UsersBL.LoadUserInfo(emailId);

    if (currentUser != null)
        HttpContext.Current.Session["CurrentUser"] = currentUser;
}

Теперь проблема в том, что я получаю ошибку «Ссылка на объект» при попытке сохранить объект currentUser в переменной сеанса (даже если объект currentUser не равен нулю). Однако свойство пароля в объекте currentUser является нулевым.

Получаю ли я ошибку из-за этого ... или есть какая-то другая причина?

спасибо

Ответы [ 3 ]

6 голосов
/ 27 мая 2010

Если предположить, что проблема вызвана последней строкой, то это означает, что HttpContext.Current или HttpContext.Current.Session равно нулю. Я предлагаю вам выяснить, что это, а затем выяснить, почему.

2 голосов
/ 27 мая 2010

HttpContext.Current.Session, вероятно, равен нулю.

Код, который использует состояние, должен быть помещен после вызова события AcquireRequestState.См. жизненный цикл страницы для получения дополнительной информации.

Попробуйте поместить свой код после или внутри метода Page_Load.

0 голосов
/ 27 мая 2010

Если он выдает исключение в строке:

HttpContext.Current.Session["CurrentUser"] = currentUser;

Тогда единственным другим объяснением является то, что HttpContext.Current.Session имеет значение null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...