C+调用的C#COM对象+;非托管代码

C+调用的C#COM对象+;非托管代码,c#,c++,com,interop,clr,C#,C++,Com,Interop,Clr,我有一个非托管代码c++ exe,它使用CoCealEngult.运行并调用类ID的C++对象。 当C#COM对象中的代码运行时,我可以毫无问题地使用.Net库 有人能解释一下在这个实例中工作的线程模型吗?C#组件中运行的代码是否完全由GC管理?我发现生成新线程实际上不起作用,或者每次都报告相同的托管线程ID。COM中的线程模型不是一个微妙的细节。[ComVisible]程序集的默认注册为“两者”。您愿意支持的是您在CoInitializeEx()调用中指定的内容。看到在您创建对象的同一线程上执

我有一个非托管代码c++ exe,它使用CoCealEngult.</P>运行并调用类ID的C++对象。 当C#COM对象中的代码运行时,我可以毫无问题地使用.Net库


有人能解释一下在这个实例中工作的线程模型吗?C#组件中运行的代码是否完全由GC管理?我发现生成新线程实际上不起作用,或者每次都报告相同的托管线程ID。

COM中的线程模型不是一个微妙的细节。[ComVisible]程序集的默认注册为“两者”。您愿意支持的是您在CoInitializeEx()调用中指定的内容。看到在您创建对象的同一线程上执行的所有调用都是正常的,这就要求STA行为和当您通过CONITITA Apple Truturd时所得到的。正如我理解的这篇文章,您不能在托管服务器上指定精确的线程模型,它依赖于C++客户端,客户端如何初始化连接,换句话说,来自CoInitializeEx()的第二个参数