2012-08-23 2 views
0

Я использую IP-адрес пользователя, чтобы найти его местоположение для отображения правильного содержимого на моем веб-сайте ASP.NET. Я установил сеанс в начале моей страницы default.aspx, чтобы определить, является ли это первый раз, когда мой пользователь запускает веб-сайт или нет, если это первый раз, мой алгоритм определения местоположения работает и городская сессия также установлена. Мои пользователи могут менять город, и каждый раз, когда они меняют город, меняется и городская сессия. Этот процесс работает нормально, но когда пользователь закрывает свой браузер и снова открывает браузер, мой алгоритм обнаружения города не запускается, потому что мой session["firsttime"] по-прежнему активен, и его значение равно TRUE (для моего сеанса работы установлено значение по умолчанию 20 минут). Как я могу обнаружить, что пользователь только что запустил свой браузер, даже если у него есть session["firsttime"], установленный на TRUE?Первый запуск веб-сайта ASP.NET

Могу ли я сделать это с помощью файла global.asax?

+0

какой режим сеанса вы используете? –

+0

mhhh, если пользователь закроет браузер в следующий раз, когда отправится на ваш сайт 'session [" firsttime "]' должен быть для него нулевым. –

+0

Я использую inProc-режим, конечно, сеанс остается до его жизни (20 минут здесь), поэтому мой алгоритм не запускается снова в этот период, могу ли я использовать Session_Start в global.asax.cs? когда он запускается? –

ответ

2

Попробуйте использовать печенье вместо сессии в обнаружить «первый раз» & «возвращающегося пользователя». Кроме того, вы можете установить информацию о местоположении в файле cookie.

+0

спасибо, но не могли бы вы прояснить свое решение? что я должен точно установить в своих файлах cookie? как долго должны длиться мои куки? –

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