ASP.NET WebForms - переменные сеанса пустые - PullRequest
3 голосов
/ 10 марта 2009

У меня есть поддержка iframe (iframe, который каждые несколько минут попадает на страницу defibrillator.aspx на моем сайте, чтобы сохранить сеанс) на моей главной странице для приложения asp.net. Это работает большую часть времени, но очень часто мои переменные сеанса возвращают ноль во время загрузки страницы на моей странице дефибриллятора. Сначала я подумал, что сервер по какой-то причине тайм-аут тайм-аута, поэтому я поместил запись в событие Session_End в global.asax, но оно никогда не было выполнено.

Любые идеи, которые могут привести к потере сессии.

Ответы [ 4 ]

2 голосов
/ 10 марта 2009
2 голосов
/ 10 марта 2009

Многие вещи могут привести к потере сессии. Перезапуск AppPool, iisreset, клиент может потерять свой куки-файл сеанса и т. Д. Не зная больше, трудно сказать, в чем проблема.

Если сеанс настолько критичен, что вы запрашиваете приложение, чтобы рабочий процесс не спал, возможно, вам следует изучить сохранение состояния сеанса на SQL Server .

1 голос
/ 27 марта 2009

У меня была такая же проблема: сохранять состояние корзины покупок в сеансе, но вместо этого случайным образом возвращать ноль. Я думаю, что нашел ответ в блоге Бертран Ле Рой, который, кажется, работает для меня:

Могут также возникнуть проблемы потери сеанса из неправильно настроенного пула приложений. Например, если пул приложений ваш сайт работает настроен как веб-ферма или веб-сад (путем настройки максимальное количество рабочих процессов более чем один), и если вы не используя сервис сеанса или SQL сеансы, входящие запросы будут непредсказуемо перейти к одному из работников процессы, и если это не тот сеанс создан, он потерян. Решения этой проблемы либо не использовать веб-сад, если вы этого не сделаете нужно повысить производительность, или использовать один вне процесса сессии провайдеры.

Блог

0 голосов
/ 11 марта 2009

Если выбранный механизм персистентности - InProc, то он может быть вызван многими вещами. Полностью не рекомендуется для производственной среды.

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