Come posso impostare un thread di background worker impostato su Single Thread Apartment?

Sto creando un’applicazione di test automatizzata. In questa parte dell’applicazione, sto lavorando su un server di polling. Funziona eseguendo costantemente il polling del server Web per determinare quando deve essere eseguito un nuovo test automatico (per le sessioni automatizzate notturne della nostra applicazione GUI).

Quando il server di polling vede una richiesta, scarica tutte le informazioni necessarie e quindi esegue l’esecuzione di test in un worker in background. Il problema è che parte dell’esecuzione di test ha OLE, COM e altre chiamate (ad esempio, Clipboard.Clear() ) che si verificano nel thread di lavoro in background. Quando si verifica una di queste chiamate, si verifica la seguente eccezione:

Il thread corrente deve essere impostato sulla modalità apartment a thread singolo (STA) prima che sia ansible effettuare chiamate OLE. Assicurati che la tua funzione principale abbia STAThreadAttribute segnato su di essa.

Come posso contrassegnare un thread di background worker come apartment a thread singolo? La chiamata principale nel mio Program.cs ovviamente ha già quell’attributo.