Большое количество Session_Start с тем же идентификатором сессии

Я выполняю веб-сайт ASP.NET на своем поле разработки (.NET 2.0 на Vista/IIS7). Метод Session_Start в global.asax.cs регистрирует каждый вызов в файл (log4net). Метод Session_End также регистрирует каждый вызов.

Я использую состояние сеанса InProc и устанавливаю тайм-аут сессии на 5 минут (чтобы не ожидать в течение 20 минут).

Я поразил веб-сайт, ожидаю в течение 5 минут единица, которую я вижу, что Session_End регистрирует. Затем я F5 веб-сайт. Браузеры все еще имеют сеансовые куки и отправляют их на сервер. Session_Start называют, и новая сессия создается с помощью того же идентификатора сессии (btw: Мне нужно это, чтобы быть тем же идентификатором сессии, потому что он используется, чтобы хранить данные в базе данных).

Результат: Каждый раз, когда я поразил F5 в ранее законченную сессию, метод Session_Start называют, запрос выполняется, и метод Session_End сразу называют.

Когда я открываю другой браузер, метод Session_Start называют только однажды. Затем после 5 минут Session_End каждый F5 заставляет последовательность Session_Start/request/Session_End выполняться.

web.config соответствующий раздел:

<system.web>
  <compilation debug="true" />
  <sessionState timeout="2" regenerateExpiredSessionId="false" />
</system.web>
5
задан abatishchev 29 August 2011 в 14:58
поделиться