![]() |
|
Модераторы: gambit |
![]()
|
|
| MishNukem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.2.2010 Репутация: нет Всего: нет |
Здравствуйте. Столкнулся с такой проблемой: постоянно происходит потеря сессии. Промежуток времени: от 1 секудны до 1 минуты простоя приложения. В какой-то момент Session.Count (а также Application.Count) обнуляется. Проект написан на Visual Studio 2008 настройки web.config и IIS (7) выставлены по умолчанию (сессия храниться в режиме InProc, таймаут 20 минут). Само приложение должно поддерживать связь с БД, переходов со страницы на страницу нет (все контролы рисуются на одной странице динамически). Как добиться стабильной работы приложения без потери сессии?
|
|||
|
||||
| MishNukem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.2.2010 Репутация: нет Всего: нет |
На сегодняшний момент проблема не решена полностью, однако сейчас удалось добиться относительно стабильной работы.
Для чего были предприняты следующие шаги: 1) Полный отказ от Session, все объекты хранятся в кеше и периодически обновляют свой срок хранения, если это необходимо. Уникальный идентификатор, по которому можно определить экземпляр страницы, обращающейся к хранимым на сервере объектам, хранится в параметрах адресной строки (+ вариант хранения в невидимом контроле на странице). 2) Все статические объекты аккуратно обрамлены lock, что должно исключить падения при обращении к статическим объектам разных потоков. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Ну т. е. реализовали сессию вручную А насчёт "пропажи сессии" - точно никто не трогает внешние (для сайта) длл-ки или веб.конфиг? |
|||
|
||||
| MishNukem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.2.2010 Репутация: нет Всего: нет |
Конечно никто не трогает, коллектив небольшой. Да и падала она мгновенно.
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Ну просто речь о том, что при этом рестартует asp .net application. Повесьте логгирование на session_start, application_start - посмотрите, что там как. Для начала.
|
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
MishNukem,
Сессия теряется под всеми браузерами? Или только под IE? Проверь настройки ресайклинга для apppool. Проверь что pid у процесса w3wp не меняется при потере сессии. При постоянных рестартах пула получишь не только потери сессии, но еще и постоянные тормоза на ровном месте, из-за частых перезапуска приложения. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |