我正在创建一个自动测试运行应用程序.在这部分应用程序中,我正在研究一个轮询服务器.它的工作原理是不断轮询Web服务器,以确定何时应运行新的自动化测试(对于我们的GUI应用程序的夜间自动运行).
当轮询服务器看到请求时,它会下载所需的所有信息,然后在后台工作程序中执行测试运行.问题是测试运行的一部分具有Clipboard.Clear()在后台工作线程中发生的OLE,COM和其他调用(例如).发生其中一个调用时,会发生以下异常:
在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式.确保您的Main函数标记了STAThreadAttribute.
如何将后台工作线程标记为单线程单元?我的Program.cs中的Main调用显然已经具有该属性.