Я запускаю многопоточную службу Windows, которая должна вызывать dll VB6. Нет документации об этой DLL VB6, и эта устаревшая система поддерживает очень важный бизнес-процесс.
В первый раз (1-й поток) эта dll работает хорошо. Поскольку другим потокам нужен доступ, он начинает давать неправильные результаты.
Я читал, как один парень говорит:
"Только будьте осторожны, если вы используете VB6. Если вы используете многопоточную службу, ваша потоковая модель должна измениться на поддержку квартир. VB поддерживает только несколько однопоточных квартир, но .NET работает полностью бесплатно с потоками, как правило. . Поток, который вызывает VB6 DLL, должен быть совместим с DLL ".
Другой парень из команды подал мне идею разместить этот ddl в отдельном домене приложения. Но я не уверен.
Как мы можем работать с dll VB6, вызываемым из многопоточного приложения службы Windows c #?