Asp.net переменная сеанса удалена
Всем привет,
Мне нужны ваши знания относительно проблемы, у меня есть переменная сеанса, которая автоматически удаляется, в то время как все остальные сеансы-нет.
Session["SomeName"]
Сеанс пользователя не прерывается во время этого процесса.
Единственное различие с другими переменными сеансов-это количество данных, в основном оно содержит около 230 строк xml.
Проблема возникает только в производстве, но не в локальных тестах.
А ты как думаешь?
Спасибо.
PS, использование базы данных для хранения данных-это не вариант !
Что я уже пробовал:
Мое последнее решение до сих пор состоит в том, чтобы реализовать метод использования переменной сеанса во время 5-страничного процесса(вроде как для того, чтобы сохранить ее в использовании, чтобы система не удаляла ее).
Некоторое время это работало, но потом снова появилась ошибка.
MadMyche
Звучит как многостраничная форма, и некоторая обработка ошибок на странице устанавливает этот сеанс в ноль.
Ziee-M
Проводная часть заключается в том, что иногда она работает, а иногда нет... пока код не был изменен вообще.
Как вы думаете, возможно ли для уникального сеанса установить значение null, а для других-нет?
MadMyche
О, это возможно; например, пользователь удаляет файлы cookie (или не принимает их)
alexvw
Привет,
Запустите поиск по всему решению "Session["SomeName"]", там должна быть строка кода, которая очищает его (при определенных обстоятельствах), которые явно не так очевидны.
Ваше здоровье!
Ziee-M
Нет, это не так.
MadMyche
По-видимому, так оно и есть; я бы рекомендовал регистрировать данные каждый раз, когда устанавливается конкретная сессия[переменная].
Ziee-M
Основываясь на вашем комментарии, кажется, вы почти уверены, что переменная сеанса не может быть удалена индивидуально, можете ли вы подтвердить?
Для вашего ответа, нет, нет, сеанс устанавливается только на уникальной странице, и только один раз, после завершения процесса, пользователь может нажать кнопку, чтобы перезапустить весь процесс, в данном конкретном случае, вместо того, чтобы получать данные из post-запроса (xml-данные), как при первом выполнении, мы получаем их из сеанса вместо этого, и процесс перезапускается.
Ryan Peden
Если вы используете сеансы in process, может быть, тайм-аут сеанса установлен слишком низко? Возникает ли эта проблема всегда или только тогда, когда пользователям требуется много времени, чтобы закончить 5-страничный процесс?
Ziee-M
Я завершаю весь процесс в les затем 3 мин. я также зарегистрировать сообщение о событие session_end.
Я не думаю, что это связано с таймаутом.
Herman<T>.Instance
Работает ли он в веб-ферме?