24.01.2017, 23:40 | #1 |
Участник
|
AOS .NET dll
Доброго дня.
Если ли возможность без перезагрузки AOS выгрузить(остановить) запущенную(подключенную) .NET dll? То есть, запустил AOS, зарегистрировал в Reference собранную в VS dll (зарегестрированную в assembly(GAC) находящуюся в server\...\BIN), запустил job который использует данную .NET библиотеку, вызвал некую функцию данной .NET, все отработало норомально. В process explorer в подчиненных процессах axserv32 вижу данная dll появилась как используемая. Далее хочу внести изменения в код dll, перекомпилирую в VS, получаю новую версию dll, копирую ее на тоже место в server\...\BIN(с тем же именем файла, перетираю существующий файл dll). При повторном запуске job вызывается старая версия. Помогает только перезапуск AOS и повторная перерегистрация этой dll в GAC, тогда новая версия dll в job подтягивается. Как можно подтягивать без перезагрузки AOS новые версии dll? И можно ли принудительно выгружать dll, останавливать процесс этой dll в рамках AOS без его перезапуска? Что-бы в process explorer в подчиненных процессах axserv32 удалялся под процесс данной dll(иногда редко глюки бывают с ней, помогает только перезагрузка АОС)? DAX 2009 SP1 RU8 Последний раз редактировалось TDV; 24.01.2017 в 23:45. Причина: Добавил версию Аксапты |
|
26.01.2017, 11:30 | #2 |
Участник
|
1. Требуется перезапуск клиента АХ при каждом деплое DLL;
2. Бывает ситуация, когда невозможно заменить/удалить DLL в каталоге BIN вручную, тогда следует переименовать файл и редеплоить; 3. Чтобы не перезапускать AOS при каждом деплое, в утилите конфигурации сервера следует включить флаг Hot swapping (AX2012 only); 3. Можно вызывать из АХ WinAPI::shellExecute(taskkill), но это бывает опасно Последний раз редактировалось MazZzDaI; 26.01.2017 в 11:36. |
|
|
За это сообщение автора поблагодарили: Logger (1), TDV (1). |