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

  • Автор темы Автор темы gera
  • Дата начала Дата начала

gera

Client
Регистрация
10.12.2021
Сообщения
70
Реакции
10
Баллы
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 у меня пустой в этом шаблоне.
 
Приветствую. Столкнулся с проблемой: прикрутил "сбоку" к 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[] работает нормально в многопотоке, есть подозрения, что проблема из за библиотеки. Смотрел пару таких, там много статики.
 
У меня project.Context[] работает нормально в многопотоке, есть подозрения, что проблема из за библиотеки. Смотрел пару таких, там много статики.
Со статикой как раз проблем нет. Там пассивная статика. Без изменений данных, т.е. не страшно. Другое дело, что возникла проблема с Microsoft.Extensions.DependencyInjection. В ZDP оно просто не работает.
 
  • Спасибо
Реакции: Маломальский

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