project.Context[""] и многопоток

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8
Приветствую. Столкнулся с проблемой: прикрутил "сбоку" к ZDP самописную dll, которая управляет эмулятором LDPLayer. Внутри dll "фабрика". Не поклонник статики я. Самый первый кубик в шаблоне:

C#:
var ldplayer = new LDPlayerEmulator(project.Variables["Country"].Value);

ldplayer.Init();
//некоторое бла бла
project.Context["LDPlayer"] = ldplayer;
в остальных кубиках вытаскиваю:
C#:
var ldplayer = project.Context["LDPlayer"];
и далее нужные манипуляции.
пока отлаживал в мейкере, всё было вроде хорошо (кроме одного момента, то то потом). как только запустил 5 потоков в постере ZDP, песенка была спета: 2 потока работали хорошо, как только врубился 3, 4 и 5, на них все команды перестали выполняться. я так понимаю, что контекст плохо переваривает потоки либо для каждого потока нужно именовать контекст по своему?

p.s.: да, CommonCode у меня пустой в этом шаблоне.
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
773
Благодарностей
517
Баллы
93
Приветствую. Столкнулся с проблемой: прикрутил "сбоку" к ZDP самописную dll, которая управляет эмулятором LDPLayer. Внутри dll "фабрика". Не поклонник статики я. Самый первый кубик в шаблоне:

C#:
var ldplayer = new LDPlayerEmulator(project.Variables["Country"].Value);

ldplayer.Init();
//некоторое бла бла
project.Context["LDPlayer"] = ldplayer;
в остальных кубиках вытаскиваю:
C#:
var ldplayer = project.Context["LDPlayer"];
и далее нужные манипуляции.
пока отлаживал в мейкере, всё было вроде хорошо (кроме одного момента, то то потом). как только запустил 5 потоков в постере ZDP, песенка была спета: 2 потока работали хорошо, как только врубился 3, 4 и 5, на них все команды перестали выполняться. я так понимаю, что контекст плохо переваривает потоки либо для каждого потока нужно именовать контекст по своему?

p.s.: да, CommonCode у меня пустой в этом шаблоне.
У меня project.Context[] работает нормально в многопотоке, есть подозрения, что проблема из за библиотеки. Смотрел пару таких, там много статики.
 

gera

Client
Регистрация
10.12.2021
Сообщения
69
Благодарностей
9
Баллы
8
У меня project.Context[] работает нормально в многопотоке, есть подозрения, что проблема из за библиотеки. Смотрел пару таких, там много статики.
Со статикой как раз проблем нет. Там пассивная статика. Без изменений данных, т.е. не страшно. Другое дело, что возникла проблема с Microsoft.Extensions.DependencyInjection. В ZDP оно просто не работает.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)