Работа с кешем
"сохраняю переменную в кэш:
int qty = 1;
ctx.StoreObject(__key, qty);
при следующем пересчете скрипта загружаю:
object fv = ctx.LoadObject(__key);
if (fv != null)
volume = (int)fv;
else
ctx.Log("Volume not in cache!", MessageType.Warning);
И всегда мне печатается сообщение о том, что по данному ключу в кэше ничего нет. "
===
Нужно использовать класс NotClearableContainer и сохранять в кеше объекты, а не типы-значения, потому что получаются операции упаковки-преобразование и распаковки-преобразование.
class ScriptUserData { public int Qty { get; set; } } ... Context.StoreObject(cashKey, new NotClearableContainer(new ScriptUserData{ Qty = qty })); var cacheObj = m_context.LoadObject(cashKey); if ((cacheObj is NotClearableContainer container) && (container.Content is ScriptUserData data)) { var qty = data.Qty; }