|
Переконнект
|
|||
---|---|---|---|
#18+
Через интернет коннекчусь к серверу. Время от времени коннект обрывается. Есть необходимость переконнектить приложение. Есть ли идеи, как лучше определеить все "используемые", то есть открытые ранее транзакции с целью установить(закрыть/открыть) транзакцию? Есть ли необходимость отыскивать все окна приложения, все DW, DS... работающим в них? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 14:08 |
|
Переконнект
|
|||
---|---|---|---|
#18+
При disconnect'е все незавершенные транзакции откатываются. Заново нужно коннектиться чтобы продлжить работу ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 14:13 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Понятно. Но можно ли просто получить список контролов, нуждающихся в SeTransObject? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 14:33 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Делаешь connect объект глобальный? должен оказывать влияние на все объекты ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 14:52 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Оказывать-то он оказывает, да только справедливо SetTransObject требует. Я вот и думаю, а нельзя ли так, чтобы глобально SetTransObject для всех установить? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 15:19 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Сделай функцию где проверяеться ответ от сервера , в зависимости от него будешь устанавливать заново конект ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 15:48 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Вопрос не в том как переконнектиться, вопрос в том, чтобы отыскать все объекты, которым необходимо указать SetTransObject после установления коннекта. Я подумал, может есть чего прямое, а не обычный перебор контролов в открытых окнах. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 17:01 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Ммм ... самый лучший способ конечно в таком случае изначально не держать постоянный коннект с БД, перед каждой операцией работы с БД соединяясь с ней, устанавливать в DataWindow Transaction и после проведения операции отсоединяясь от БД. Тогда гарантировано все будет работать. Можно сделать и иначе - создать глобальную функцию, которая будет вызываться перед каждой операцией с БД, восстанавливая коннект, если он потерян и устанавливая Transaction у DataWindow, если он передан параметром. Кстати такую функцию можно спокойно вызывать на RetrieveStart у DataWindow, при желании сделав его классом предком для всех используемых в проекте DataWindow. Что то типа того: На подключение Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
И на отключение Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Кстати что то я не нашел событий у класса Transation по поводу подключения, отключения и т.д. Очень очень странно. У PFC в классе pfc_n_tr насколько я понял все эти методы реализованы, но событий все равно не вижу. Наверное есть повод подумать на эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 17:55 |
|
Переконнект
|
|||
---|---|---|---|
#18+
Сам по себе SetTransObject занимает довольно длительное время, потому я обычно не отконнекчиваюсь, раньше не требовалось. Но про RetrieveStart - мысль мне нравится. DW таким образом обработать можно. DS, если в предке обработать и работать исключая класс DataStore тоже. Для выпадающих DataWindowChild с аргументами, в сущности, можно указывать объект транзакции перед Retrieve. Вроде бы подходит. А вообще, конечно, хотелось бы иметь возможность снять с объекта транзакции информацию о использующих его объектах. Для этого, я думаю, можно для при каждом вызове of_settransobject фиксировать контрол в объекте транзакции. А для DataWindowChild так-же надо будет использовать особую функцию. При разрушении объектов удалять объекты из списка. Уф блин, морока. Не буду делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2003, 18:48 |
|
Переконнект
|
|||
---|---|---|---|
#18+
2 Механик Ну если допустим постоянный connect/disconnect то проробуй SetTrans PowerScript function Usage ..... The DataWindow control connects and disconnects after each Retrieve or Update function. .... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2003, 15:50 |
|
Переконнект
|
|||
---|---|---|---|
#18+
2 Механик\r Вот здесь Филлип дал ссылку ( PB info )\r Очень доступно описан подход к решению вашей проблемы ... |
|||
:
Нравится:
Не нравится:
|
|||
01.09.2003, 16:12 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1339533]: |
0ms |
get settings: |
20ms |
get forum list: |
8ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
51ms |
get topic data: |
4ms |
get first new msg: |
94ms |
get forum data: |
1ms |
get page messages: |
303ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 796ms |
0 / 0 |