有一个COM DLL(VC6.0 ATL 向导内置),我想用appdomain的身份来实现一个进程创建多个appdomain,每个进程都加载这个COM DLL,保证每个COM DLL都有独立的内存空间。</p>
例如
AppDomain Domain1 = AppDomain.CreateDomain("D1"); AppDomain Domain2 = AppDomain.CreateDomain("D2");
对象 obj1 = Domain1.CreateInstanceFromAndUnwrap("UnManagedCOMDLL.dll", "UnManagedCOMDLL.ShowTag");
对象 obj2 = Domain2.CreateInstanceFromAndUnwrap("UnManagedCOMDLL.dll", "UnManagedCOMDLL.ShowTag")
在这个dll中,有一个全局变量,每次加载时,it++。虽然com加载在不同的appdomain中,但全局变量是相互共享的。
为什么会发生这样的结果?appdomain 应该保持内存隔离,但它失败了。
但是,对于托管 dll,appdomain 可以工作。
帮我!!!!!