При создании Thread для класса, вызываемого из экземпляра STAThread, каким будет состояние квартиры?
У меня есть проект A и проект B. В проекте B есть поток, который выполняет некоторую работу с Microsoft Outlook Interop. Проект A представляет собой графический интерфейс пользователя и помечен как STAThread на главной точке входа.
Если я вызову проект b изнутри A, будет ли созданный в проекте B поток STA или MTA?
У меня ошибка "Извлечение фабрики классов COM для компонента с CLSID... Исходящий вызов не может быть выполнен, так как приложение отправляет вызов input-sync".
1 ответ
Решение
Все потоки по умолчанию для MTA, если SetApartmentState
вызывается до запуска потока.
Если вы думаете об этом, поток не может совместно использовать однопотоковую квартиру существующего потока.