|
![]() |
#1 |
Боец
|
Цитата:
Сообщение от Bega
![]() Никто не сталкивался с такой проблемой?: очищаем кэш, пользователь закрывает приложение, запускает снова и получает ошибку:
Вложение 6628 Чаще всего это происходит на Windows 7 но также бывает и на XP. Опытным путем выяснили, что ошибка возникает после SysFlushAOD::main(null), а именно после SysFlushAOD::doFlush() внутри main(). Лечится это только ручным удалением кэша с диска. Я вот думаю, что нужно написать прямое удаление файлов кэша при выходе пользователя из приложения. SysFlush** как-то кривенько работает. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от DSPIC
![]() Сталкивались. Но у нас такой эффект проявлялся при смене компании, причем на совершенно стандартном приложении (AX2009). Да, пока ручками кэш не удалишь, клиент падает. Так и не вылечили - мы просто начали использовать одну компанию (она пости не использовалась).
Я вот думаю, что нужно написать прямое удаление файлов кэша при выходе пользователя из приложения. SysFlush** как-то кривенько работает. |
|
![]() |
#3 |
Боец
|
Цитата:
Сообщение от Bega
![]() Пытались удалять кэш при выходе, но не смогли найти то место (методы Application, Info, Session и т.д.), которое вызывается непосредственно после того, как это кэш будет записан на диск при выходе. Точно так же не смогли найти место, где вставить удаление кэша перед его использованием при запуске клиента.
Можно так сделать: в методе \Classes\Application\closingDown вызывать .bat файл с отложенным запуском, в отдельном потоке. Т.е. аксапта закрывается, параллельно вызывается bat файл в отдельном потоке, который либо по тайм-ауту, либо ориентируясь на запущенный процесс ax32.exe, вызывает удаление файлов кэша. Батник можно либо подготовить как статический, но лучше генерить на лету, передавай туда PID процесса клиента. Вызов консольного черного окошка можно скрыть, если вызов делать через .net сборки (createProcess), переадресовав streamOutput. Не самое красивое решение, но должно работать надежно. |
|
Теги |
aoc, ax2009, активные пользователи, законченный пример, кэш, полезное |
|
|