AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.08.2023, 15:19   #10  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
274 / 837 (28) +++++++
Регистрация: 23.10.2012
Привет.
Изучая Аксапту в поисках решения вопроса с кэшем (Как чистите глобальный кэш АОСов?) увидел библиотеку "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)
Но у этой библиотеки есть огромный минус - она в ссылках содержи Ax32Server.

В общем завела меня Аксапта в сторону (вообще другая библиотека)
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

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stephenmann: Technical History of Dynamics AX - From Axapta 3.0 to AX2012 Blog bot DAX Blogs 5 03.03.2017 10:22
stoneridgesoftware: TFS Code Repository and Dynamics AX Blog bot DAX Blogs 0 16.06.2016 16:11
X++: When to use Managed Code in Dynamics AX Blog bot DAX Blogs 0 08.12.2011 10:11
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Экспорт / импорт Help topics и запуск второй сессии Аксапты из-под себя DmitrySt DAX: Программирование 0 25.11.2004 00:22

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:34.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.