2015-08-21 2 views
1

Я работаю над webforms asp.net. Там же находится страница пользователя Войти, если пользователь успешно войти в системе, то она сохраняет все данные в объекте данных профилей класса после того, как доступ через базу данных SQLОбъект, проходящий через сеанс в webforms asp.net

Profiledata profiledata = new Profiledata(); 
profiledata.Fname = SelectReader.GetString(0); 
profiledata.Lname = SelectReader.GetString(1); 
profiledata.email = SelectReader.GetString(2); 
profiledata.password = SelectReader.GetString(3); 
\\if we print profiledata values here all values are shown correct           
Session["profile"] = profiledata; 

На следующей странице я доступ к

Profiledata profiledata = new Profiledata(); 
profiledata = (Profiledata)Session["profile"]; 

, но это показывает пустое исключение в сеансе нет значения, найденного в сеансе

ответ

1

Если вы извлекаете значение сеанса до заполнения сеанса, оно может быть нулевым. Он также может быть нулевым, если вы отключили модуль SessionState http или если ваш код работает в HttpHandler, который не указывает ни IRequiresSessionState, ни IReadOnlySessionState

+0

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (http://meta.stackexchange.com/questions/214173/why-do-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/11684635) – Mike

+0

Прочтите этот раздел: http://stackoverflow.com/help/how-to-answer, чтобы понять, как должны работать ответы. SO - это не форум, на котором вы обсуждаете вопросы с помощью ответов. – Mike

+0

Я отредактировал свой ответ. Я знаю, что это не форум – Emanuele