![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Закрытие сессии по IdleTime
boa © (2003-02-12 08:55:00)Проблемма: Если клиент N-ное время не работает с приложением то сервер по истечению IdleTime закрывает сессию. Если после закрытия сессии закрывать приложение, то естественно сыпется куча ошибок.
Требуется: Нужно автоматически закрывать приложение перед тем как отработает IdleTime.
Вопрос: Как узнать время последнего обращения клиента к серверу (IdleTime естественно известен)? Или кто подскажет как вообще решается эта проблемма (ни разу не встречал вопрос по этой теме, хотя он меня давно уже интересует)
Info: Для работы с базой использую DAO. Смотрел сырцы, так и не нашел за что зацепиться.
PS: HOOKи не предлагать, т.к. это не есть обращение к базе данных.
boa (2003-02-12 16:35:00) [1]Остается одно - делать HOOK на клаву/мышь и выполнять левый запрос к базе (или даже проверку на соединение) и от этого времени вести отсчет. Тоже дикость, но пока альтернотивы не вижу.
СПАСИБО!что откликнулся и не оставил меня в полном одиночестве (хотя может кто-нибудь еще и выскажет свое мнение).
jocko (2003-02-12 15:52:00) [2]Тогда повесь таймер и запускай после каждого выполнения запроса прошло полчаса - закрыл приложение, если коннекция одна, то вообще все просто, да какую нибудь настроечку к нему в реестр...
хотя вообще-то дикость, сам не знаю зачем написал
boa (2003-02-12 15:37:00) [3]Проблеммы с сильной заргузкой сервера у нас нет.
Я знаю, что у узера через 30 минут после последнего обращения к базе коннекта не будет.
На счет освобождения ресурса я неправильно выразился.
Ресурс на сервере и так (через 30 мин.) освободится а вот дальнейшая работа приложения вызывает сочуствие. И вообще зачем программе висеть в состоянии ожидания чего-то такое продолжительное время? Если юзер забыл закрыть прогу, то хотелось бы сделать это за него программно.
jocko (2003-02-12 13:34:00) [4]из опыта: (MS SQL) при сильной загрузке сервера, этот промежуток может быть очень небольшим, т.е пользователь задумался... и отвалился - лучше переконнектиться, можно молча, можно с диалогом,
В любом случае, раньше чем пошлешь запрос, точнее получишь ответ, о том что отвалился не узнаешь
Хотя может я не прав АУ!!! может все-таки есть варианты
и еще
>Мне как раз нужно корректро освободить ресурс
так ведь никто вроде и не занят
boa (2003-02-12 12:43:00) [5]А зачем мне переконнекчиваться если юзер не работает.?! Мне как раз нужно корректро освободить ресурс.
jocko (2003-02-12 09:56:00) [6]закрывать не надо, надо переконнектиться, (такой вопрос с АДО недавно обсуждался) похоже вариант один - ловить код ошибки от провайдера, каким бы он не был (провайдер), и восстанавливать содедиение, сервер не сообщает клиенту, что он его выгрузил (геморой одним словом).
boa (2003-02-12 08:57:00) [7]Вообще-то ставил галочку на "Oracle", но почему-то в заголовке не высветилось!