Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
14-5709
Ketmar
2003-02-09 18:15
2003.03.03
что вы думаете о Кэтмаре?


1-5634
Noname15
2003-02-15 16:08
2003.03.03
DateTimePicker


3-5415
kito
2003-02-12 15:59
2003.03.03
ADO и ODBC не получается на клиенте запустить прогу


14-5796
Дмитрий К.К.
2003-02-12 10:09
2003.03.03
Слово о MS Front Page


8-5675
/-\|e}{
2002-11-05 08:17
2003.03.03
Есть у кого Swiftsoft Multimedia tools v 1.5-2.0




   Наверх