|
02.12.2022, 14:50 | #1 |
Участник
|
Как и любую другую неинтерактивную p-code сессию.
http://web.archive.org/web/200912181...tal-pages.aspx http://web.archive.org/web/200908080...59(AX.10).aspx http://web.archive.org/web/201007282...66(AX.10).aspx https://learn.microsoft.com/en-us/dy...ectedfrom=MSDN А чего вы все за отладку то уцепились ? Эта технология не для отладки придумана. Пакетный код и так отладить можно, просто вручную запустив или по старинке как в ax4 |
|
28.08.2023, 15:19 | #2 |
Участник
|
Привет.
Изучая Аксапту в поисках решения вопроса с кэшем (Как чистите глобальный кэш АОСов?) увидел библиотеку "Microsoft.Dynamics.AX.Xpp.Support.dll" - очень интересная. Внутри неё сидит Microsoft.Dynamics.Ax.Xpp.XppObjectBase. У меня сложилось впечатление, что это "базовая" точка вызова для всех функций. Например в нём есть вот такая функция: X++: public static object StaticCall(string className, string methodName, object[] parameters, Type[] types, object[] varargs) В общем завела меня Аксапта в сторону (вообще другая библиотека) Microsoft.Dynamics.AX.ManagedInterop.RuntimeContext::get_Current(); У которого есть всякие CallStaticClassMethod и тп. При запуске которых из пакетного задания система не опознает их как IL код. Можно предположить, что она считает его XPP. Но у пакетного задания есть особенность - оно не заполняет в потоке Data - откуда по идее, должна браться сессия. Поэтому сессию приходится инициализировать руками (это генерирует запись в активных пользователях): new Microsoft.Dynamics.AX.ManagedInterop.Session() и нужно вызвать logon. Microsoft.Dynamics.AX.ManagedInterop.Session это наследник от Microsoft.Dynamics.AX.ManagedInterop.RuntimeContext - приводим к родителю и вызываем нужный код. Исходя из контекста задачи, так понимаю, что речь идёт о "hot swap" - оно кэширует где-то код. Только перезапуск АОСа актуализирует информацию. В общем не выглядит как финальное решение, но шаг в его направлении. |
|
|
За это сообщение автора поблагодарили: Logger (20), ivas (3). |
Теги |
ax2012r3, cil, p-code |
|
|