2012-06-23 7 views
0

Я создаю сайт с asp.net и C# 3.5. Проблема заключается в том, что сеанс пользователя очищается между запросами. Не во всех сеансах, только этот сеанс пользователя неожиданно обновляется при возникновении нового запроса или обратной передачи. Я использую IIS7 и Win2008 R2. Я проверил и выяснил, что никакой рециркуляции не происходит, WorkerProcess установлен в 1, веб-сайт не перезапускается. Просто сеанс пользователя обновляется и получает новый sessionId. не все сеансы, возобновляется сеанс пользователя.Сессия Asp.net периодически обновляется между запросами

Это очень странная проблема, я искал в Интернете и не смогли найти решение

Если у вас есть какие-либо подсказки?

+1

Каков временной тайм-аут, установленный в IIS? В вашем web.config? – TheGeekYouNeed

+0

Зарегистрированные пользователи или пользователи зарегистрированы на сайте? – Tisho

+0

Некоторые подсказки: 1) У меня есть файл журнала в папке, вызывающей App_Log, я сам создал эту папку и сохранил в ней мои журналы и исключения. 2) Я использую HttpContext.Current.Session, чтобы получить и установить мои переменные. – iBoy

ответ

0

Я думаю, что нашел свою проблему. Название проблемы - «канонический домен». Пользователи вводят сайт без www в начале своего URL-адреса, но между запросом (особенно в Respone.Redirect («~») или когда я перенаправляю пользователя на платежный шлюз и когда он возвращается обратно), URL-адрес обращается к URL-адресу с www. Таким образом, файлы cookie обновляются и этот сеанс пользователя теряется в этом пункте.

Канонический домен может быть решен с помощью модуля перезаписи URL-адреса IIS7, в SEO -> Canonical domain name.

Смежные вопросы