我有一个第三方umanaged STA COM dll,我试图在.Net多线程环境中运行。起初我尝试在单独的AppDomains中隔离实例,但由于DLL是不受管理的代码,因此无法工作。然后我尝试将非托管DLL包装在.Net类中并将其部署为COM +服务器,以便我可以在自己的进程中隔离每个实例。这是有效的,除了COM +正在使用MTA线程池而不是STA ....这使得对非托管DLL的调用非常慢。反正是否强制进程外COM使用特定的线程模型?创建COM +对象实例的线程是STA,但COM +服务器中的线程是MTA。有任何想法吗?谢谢!