powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Закрытие сессии
13 сообщений из 13, страница 1 из 1
Закрытие сессии
    #33503344
бомбер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как определить, что юзер ушёл с сайта и закрыть сессию? timeout ведь закрывает её по истечении определенного времени, да и то ведь даже если юзер на сайте, так? Или я в чем-то не прав?
...
Рейтинг: 0 / 0
Закрытие сессии
    #33503826
Repz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уточните - что для вас значит сессия ?
параметры логина пользователя ?
открытый коннект с БД ?
или что то другое ?

гыу згтещ ыцшесрук
...
Рейтинг: 0 / 0
Закрытие сессии
    #33504077
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак!!!
Только по истечении таймаута сессии, что уже не нужно :)

-- Tygra's --
...
Рейтинг: 0 / 0
Закрытие сессии
    #33505324
Фотография skyzmei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, помоему Вы не правы

Есть в простом асп ф-ия isclient... что-то там, не помню(башка с утра не варит)

которая смотрит, ушел клиент или нет, но я ей не пользовался, т.к. небыло необходимости....
можно посмотреть в хэлпе для iis

ну а завершить сессию можно просто:
файл асп
<% session.abandon %>

и все...

или можно обнавлять страницу хоть раз в минуту, (или просто пустой фрэйм)

читать допустим коки если значения нет response.redirect "../../abandon.asp"
...
Рейтинг: 0 / 0
Закрытие сессии
    #33506932
бомбер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Repz

Под сессией я понимаю (возможно и не правильно) такое: клиент на сайт пришел - сессия началась, ушел - закончилась. Собственно, вот так я бы и хотел сделать. Но пока получается только по истечении таймаута. А мне бы сразу...
...
Рейтинг: 0 / 0
Закрытие сессии
    #33506944
бомбер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 skyzmei

Спасибо за наводку. Функцию нашел. IsClientConnected() называется. А где её лучше использовать? Подскажите, пжалста...
...
Рейтинг: 0 / 0
Закрытие сессии
    #33508319
Фотография skyzmei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бомбер2 skyzmei

Спасибо за наводку. Функцию нашел. IsClientConnected() называется. А где её лучше использовать? Подскажите, пжалста...

Чесно говоря не сталкивался, и опыта в ее использовании нет

Но по моему, когда проводиться какая-то длительная операция можно спросить: а здесь ли юзер?

если да, то
flush
или
write, ну вобщем что-то делаем.

Для ASP(не net)
Но все же если просто ничего не происходит(длит.операции,закачки..), то ставь таймаут, и причем если серьезно , то прописывай в базу номер сессии,
время начала ее + 20минут(твой таймаут)...
А потом, встрой на странице или в global.asa onsessionstar
sql запрос, кот будет удалять из списка активных пользователей тех, чье время кончилось...
Это просто разница now времени, записанной в базу, ну таймаут минут 20, смотриш разницу и сравниваеш...

А на каждой странице встрой обновление времени в базе:
now+20minut


Но помни про формат времени!

например для аксеса переформатир время так:
conn.open
xdata=Now
прибавь к xdata таймаут в нужном формате

mydata = "#" & Replace(Now,".","/") & "#"
'insert/delete/update
conn.execute("insert into Mytable (sessions_myid,datatimeout) values ("&session.sessionID&","&mydata&");")

Дело в том, что событие onsessionen - херовое событие!
я им не пользуюсь, т.к иногда ничего из базы не удалялось!!!

Для ASP.NET такой проблемы не заметил...

и еще, используй не куки, а дапустим создай в базе поле GUID,
и цепляй из него значения, затем подкльчи к ссылкам и формам.
Напиши Ф-ию,
допустим 3 неправельных обращения guid, и обманщика блокируем минут на 40!!!
ну можно и по ip, но не желательно, ну кууки, или еще что...

и потом не бойся, что сессию "кто-то подделает".
сравни кльчи GUID и все...

---Зделай на странице обновляемый фрэйм ну через минуту и смотри, здесь юзер или нет..

можно поразмыслить над простыми решениями и обходными путями...

вот.
...
Рейтинг: 0 / 0
Закрытие сессии
    #33508329
Фотография skyzmei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бомбер А мне бы сразу...

А зачем сразу-то?
...
Рейтинг: 0 / 0
Закрытие сессии
    #33510045
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никакой функцией вы не узнаете, здесь клиент или нет. И все потому, что чтобы узнать это, нужно иметь обратный коннект к клиенту, а обратиться к броузеру клиента и спросить, чего там деется, пока что нельзя, пока сам клиент не нажмет хотя бы F5.

И все же - зачем вам это?

-- Tygra's --
...
Рейтинг: 0 / 0
Закрытие сессии
    #33510198
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2бомбер
посмотрите http://www.sql.ru/forum/actualthread.aspx?tid=152476


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Закрытие сессии
    #33510509
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНикакой функцией вы не узнаете, здесь клиент или нет. И все потому, что чтобы узнать это, нужно иметь обратный коннект к клиенту, а обратиться к броузеру клиента и спросить, чего там деется, пока что нельзя, пока сам клиент не нажмет хотя бы F5.

AJAX!!!! - давно смотрю на Вашу беседу... ;)
P.S. понятно что существуют ограничения - но выход есть...
...
Рейтинг: 0 / 0
Закрытие сессии
    #33511069
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, ajax rulez ;)
...
Рейтинг: 0 / 0
Закрытие сессии
    #33511690
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда сервер выдал response он напрочь забыл о каком-либо коннекте с вами и Вы для него существуете только потому, что открыли ( возможно ) сессию. В принципе Вы можете выключить свой компьютер, пойти попить пиво, вернуться
и вновь обратиться к серверу, но только зная идентификатор сессии, и сервер сделает вид, что Вы с ним все еще соединеныи соединения не прерывали.

AJAX требует, чтобы инициатива исходила от клиента.

Кстати ASP 2.0 предоставляет возможность организации Client Callbacks Without Postbacks. ( Описано в доках MS VS 2005, но с ошибками ).
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Закрытие сессии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]