Comment puis-je faire un thread d'arrière-plan définie à Thread Unique Appartement?

Je suis entrain de créer un test automatisé application en cours d'exécution. Dans cette partie de l'application, je suis en train de travailler sur une interrogation du serveur. Il fonctionne en permanence de l'interrogation du serveur web de déterminer quand un nouveau système automatisé de test doit être exécuté (pour les soirs automatisé s'exécute de notre application GUI).

Lors de l'interrogation du serveur voit une demande, il télécharge toutes les informations nécessaires, puis exécute l'exécution des tests dans un contexte travailleur. Le problème est qu'une partie de l'essai a OLE, COM, et d'autres appels (par exemple, Clipboard.Clear()) qui se produisent dans le contexte de thread de travail. Lorsque l'un de ces appels se produit, l'exception suivante se produit:

Thread en cours doit être réglé à thread unique appartement (STA) mode avant OLE appels peuvent être effectués. S'assurer que votre Principale fonction est de s'STAThreadAttribute marqués sur elle.

Comment puis-je marquer un arrière-plan thread thread unique appartement? Le Principal appel dans mon Programme.cs évidemment a déjà cet attribut.

  • Clipboard.Clear() n'est pas COM. Il est originaire de l'API Windows.
  • Presse-papiers utilise COM de négocier des données du presse-papiers et de formats.
InformationsquelleAutor KallDrexx | 2011-01-13