Существует COM DLL (встроенный мастер VC6.0 ATL), я хочу использовать идентификаторы appdomain для реализации одного процесса, создающего несколько приложений, каждый загружает эту COM DLL и гарантирует, что каждая COM DLL имеет изолированное пространство памяти.
Например
AppDomain Domain1 = AppDomain.CreateDomain ("D1");
AppDomain Domain2 = AppDomain.CreateDomain ("D2");
object obj1 = Domain1.CreateInstanceFromAndUnwrap ("UnManagedCOMDLL.dll", "UnManagedCOMDLL.ShowTag");
object obj2 = Domain2.CreateInstanceFromAndUnwrap ("UnManagedCOMDLL.dll", "UnManagedCOMDLL.ShowTag")
В этой dll есть глобальная переменная, каждый раз, когда она загружается, это ++. хотя com загружается в другой домен приложения, глобальная переменная используется совместно.
почему произошел такой результат? appdomain должен сохранять выделение памяти, но это не удалось.
однако для управляемого dll домен приложения может работать.
помоги мне !!!!!