Всем добрый день,
есть одна проблема, которая заключается в следующем:
при вызове AIF custom сервиса происходит импорт данных, во время которого пишутся логи. НО: если хоть где-то в коде выбросится ошибка или вызов ttsabort, то соответственно ни лога, ни данных...
Если бы это была одна какая-то таблица, я не задумываясь использовал бы UserConnection, но здесь сервис вызывает класс, который выполняет всю логику, поэтому классу я передать соединение не могу, к тому же класс написан внешниками и зашифрован при помощи макросов (можно конечно парсер написать, но по лицензионному соглашению запрещено).
Есть предложение от коллеги использовать anonymous pipes, примерно вот так:
X++:
pipeServer = new System.IO.Pipes.AnonymousPipeServerStream(System.IO.Pipes.PipeDirection::Out
, System.IO.HandleInheritability::Inheritable);
thread = new Thread();
thread.setInputParm([clr2XppStr(pipeServer.GetClientHandleAsString())]);
thread.removeOnComplete(true);
thread.run(classNum(ApIpcExample), staticMethodStr(ApIpcExample, messageReader));
pipeServer.DisposeLocalCopyOfClientHandle();
но не уверен, что в этом случае будет использоваться отдельное соединение.
Может кто сталкивался с подобной проблемой?