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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2012, 21:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,459 / 846 (79) +++++++
Регистрация: 28.10.2006
dax-lessons: SysGlobalObjectCache class in AX 2012 [x++]
Источник: http://dynamicsaxgyan.wordpress.com/...-in-ax-2012-x/
==============

Friends, There is a new class SysGlobalObjectCache that has been introduced in AX 2012, which will help for Global object caching with the help of scope,  Key and values. Three important parameters are: Scope: A string type that specifies the scope or the owner of the cached object. Key :  A container type that specifies [...]

Источник: http://dynamicsaxgyan.wordpress.com/...-in-ax-2012-x/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 22.03.2018, 14:02   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
265 / 808 (27) +++++++
Регистрация: 23.10.2012
Добрый день!
Ax 2012 R3, 6.3.3000.111
В CIL дёргаю
X++:
classFactory.globalObjectCache().insert(scope, [key], [value]);
там же делаю
X++:
classFactory.globalObjectCache().print(scope)
вижу нужный результат.

Возвращаюсь на клиент делаю print с тем же scope, а там пустота.
Обращаясь к MSDN:
"Every record that is inserted into SysGlobalObjectCache is shared across multiple sessions that are in the same process. If an entry is inserted on the AOS, then all the sessions on the same AOS have access to the entry in the cache. However, any cache entries inserted on the AOS will not be automatically sent to the clients connected to that AOS. The entries will also not be sent to another AOS that is part of the deployment."
Кроме как перезаходом возможно обновить в рамках текущего клиента?

Последний раз редактировалось Товарищ ♂uatr; 22.03.2018 в 14:12.
Старый 22.03.2018, 14:22   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Вызвать серверный метод и результат ручками запихать в globalCache на клиенте? Интересно, конфликтов не будет?
Старый 22.03.2018, 15:12   #4  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
265 / 808 (27) +++++++
Регистрация: 23.10.2012
Идея конечно интересная, но CIL это же другая сессия, да и как туда клиентский класс прокинуть, не говоря уже о том, что он не особо-то и дружит с такими объектами.
Старый 22.03.2018, 15:31   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Объект надо протаскивать в серилизованном виде. CIL умеет возвращать контейнеры. Интересно, а что вы пытаетесь сделать?
Старый 22.03.2018, 19:03   #6  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
265 / 808 (27) +++++++
Регистрация: 23.10.2012
Изначальная задача - повышение производительности формы хранящей временные данные, получающей их из ресурсоёмких операций.
Ключевые значения для которой мысль была брать из кэша, чтобы обойтись без изменений в словаре данных.

Последний раз редактировалось Товарищ ♂uatr; 22.03.2018 в 19:06.
Старый 28.02.2023, 08:44   #7  
Perc is offline
Perc
Участник
 
193 / 44 (2) +++
Регистрация: 05.03.2005
Так какой тут ответ в итоге? Только щас пришлось ответственно столкнуться с проблемой. Что то положенное в SysGlobalObjectCache вне CIL - в CIL не доступно. Верно и обратное при выполнении в CIL кладу в объект SysGlobalObjectCache. При выходе из CIL - ничего нет.
Акс2012.
В документации четких оговорок, что в цил действует свой личный объект SysGlobalObjectCache - не нашел. Только кусок в коде:
X++:
if (classfactory)
    {
        sgoc = classfactory.globalObjectCache();
    }
    else
    {
        // Workaround for SysQueryRangeUtil usage under IL
        // the class factory is not initialized in the interpreter
        // when called from IL.This is OK as the global cache is a kernel
        // singleton
        sgoc =  new SysGlobalObjectCache();
    }
Но тут, как я понял, говорится об отсутствии classfactory, а не SysGlobalObjectCache
Старый 03.03.2023, 21:50   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Perc Посмотреть сообщение
Что то положенное в SysGlobalObjectCache вне CIL - в CIL не доступно. Верно и обратное при выполнении в CIL кладу в объект SysGlobalObjectCache. При выходе из CIL - ничего нет.
Акс2012.
А вы не путаете серверный и клиентский SysGlobalObjectCache? Есть два разных экземпляра ClassFactory - серверный и клиентский, соотв., есть (с точки зрения каждой конкретной сессии) два разных экземпляра SysGlobalObjectCache - серверный, который общий на все сессии AOS-а, и клиентский, который по сути - бестолкова заглушечка. Так вот, попробуйте в CIL класть что-то в SysGlobalObjectCache, а потом искать это в серверном X++ коде.
Теги
cil, classfactory, sysglobalobjectcache

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dax-lessons: timeConsumed()–a very useful function in Global class in AX 2012 [x++] Blog bot DAX Blogs 0 12.01.2012 21:11
dax-lessons: One click “DEPLOY TO EP” – AX Client forms using Menu items in Dynamics AX 2012 Blog bot DAX Blogs 0 06.01.2012 21:13
dax-lessons: User Relations [Dynamics AX 2009 vs AX 2012, UserExternalParty and DirPersonUser Tables in AX 2012] Blog bot DAX Blogs 0 03.01.2012 17:11
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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