Существует ли универсальный FuncSTA для вызова делегатов потоком STA? - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть приложение ASP.NET, и мне нужно использовать некоторые COM компоненты внутри него.

Мне нужен класс-оболочка над Func или Action, который создает новый поток STA изапустить делегат с этим потоком или что-то вроде этого.Вы знаете такой класс или библиотеку из коробки или пример кода?

CodeUsingComComponent.InvokeSTA()

1 Ответ

0 голосов
/ 23 декабря 2010

Такой метод не существует.
Вы можете написать один самостоятельно:

public static void InvokeSTA(this ThreadStart method) {
    var thread = new Thread(method);
    thread.SetApartmentState(ApartmentState.STA);
    thread.Start();
}

Если вы хотите вызвать его синхронно, добавьте thread.Join().

...