Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.03;
Скачать: CL | DM;

Вниз

Закрытие сессии по IdleTime   Найти похожие ветки 

 
boa ©   (2003-02-12 08:55) [0]

Проблемма: Если клиент N-ное время не работает с приложением то сервер по истечению IdleTime закрывает сессию. Если после закрытия сессии закрывать приложение, то естественно сыпется куча ошибок.
Требуется: Нужно автоматически закрывать приложение перед тем как отработает IdleTime.
Вопрос: Как узнать время последнего обращения клиента к серверу (IdleTime естественно известен)? Или кто подскажет как вообще решается эта проблемма (ни разу не встречал вопрос по этой теме, хотя он меня давно уже интересует)
Info: Для работы с базой использую DAO. Смотрел сырцы, так и не нашел за что зацепиться.
PS: HOOKи не предлагать, т.к. это не есть обращение к базе данных.


 
boa ©   (2003-02-12 08:57) [1]

Вообще-то ставил галочку на "Oracle", но почему-то в заголовке не высветилось!


 
jocko   (2003-02-12 09:56) [2]

закрывать не надо, надо переконнектиться, (такой вопрос с АДО недавно обсуждался) похоже вариант один - ловить код ошибки от провайдера, каким бы он не был (провайдер), и восстанавливать содедиение, сервер не сообщает клиенту, что он его выгрузил (геморой одним словом).


 
boa ©   (2003-02-12 12:43) [3]

А зачем мне переконнекчиваться если юзер не работает.?! Мне как раз нужно корректро освободить ресурс.


 
jocko   (2003-02-12 13:34) [4]

из опыта: (MS SQL) при сильной загрузке сервера, этот промежуток может быть очень небольшим, т.е пользователь задумался... и отвалился - лучше переконнектиться, можно молча, можно с диалогом,
В любом случае, раньше чем пошлешь запрос, точнее получишь ответ, о том что отвалился не узнаешь

Хотя может я не прав АУ!!! может все-таки есть варианты

и еще
>Мне как раз нужно корректро освободить ресурс
так ведь никто вроде и не занят


 
boa ©   (2003-02-12 15:37) [5]

Проблеммы с сильной заргузкой сервера у нас нет.
Я знаю, что у узера через 30 минут после последнего обращения к базе коннекта не будет.
На счет освобождения ресурса я неправильно выразился.
Ресурс на сервере и так (через 30 мин.) освободится а вот дальнейшая работа приложения вызывает сочуствие. И вообще зачем программе висеть в состоянии ожидания чего-то такое продолжительное время? Если юзер забыл закрыть прогу, то хотелось бы сделать это за него программно.




 
jocko   (2003-02-12 15:52) [6]

Тогда повесь таймер и запускай после каждого выполнения запроса прошло полчаса - закрыл приложение, если коннекция одна, то вообще все просто, да какую нибудь настроечку к нему в реестр...

хотя вообще-то дикость, сам не знаю зачем написал


 
boa ©   (2003-02-12 16:35) [7]

Остается одно - делать HOOK на клаву/мышь и выполнять левый запрос к базе (или даже проверку на соединение) и от этого времени вести отсчет. Тоже дикость, но пока альтернотивы не вижу.
СПАСИБО! что откликнулся и не оставил меня в полном одиночестве (хотя может кто-нибудь еще и выскажет свое мнение).



Страницы: 1 вся ветка

Текущий архив: 2003.03.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
6-5698
Mischka
2003-01-14 10:41
2003.03.03
Юзер на удаленной машине


3-5410
Толян
2003-02-12 16:41
2003.03.03
Как в AppendRecord в поля типа TDateTime, записать пустое значени


6-5684
kofman
2003-01-12 22:05
2003.03.03
Запрос серверу.


1-5564
alkmas
2003-02-19 13:08
2003.03.03
Внедрение компонента в другой компонент


1-5615
Ozone
2003-02-20 09:51
2003.03.03
Создание компонентов в run-time