При создании Thread для класса, вызываемого из экземпляра STAThread, каким будет состояние квартиры?

У меня есть проект A и проект B. В проекте B есть поток, который выполняет некоторую работу с Microsoft Outlook Interop. Проект A представляет собой графический интерфейс пользователя и помечен как STAThread на главной точке входа.

Если я вызову проект b изнутри A, будет ли созданный в проекте B поток STA или MTA?

У меня ошибка "Извлечение фабрики классов COM для компонента с CLSID... Исходящий вызов не может быть выполнен, так как приложение отправляет вызов input-sync".

1 ответ

Решение

Все потоки по умолчанию для MTA, если SetApartmentStateвызывается до запуска потока.

Если вы думаете об этом, поток не может совместно использовать однопотоковую квартиру существующего потока.

Другие вопросы по тегам