2009-07-07 2 views
3

J'ai une classe .NET qui appelle un objet COM C++ qui à son tour appelle une autre classe .Net dans COM. J'ai trouvé que les deux classes .Net sont dans des domaines d'application séparés (ce qui pose quelques problèmes avec log4net). Notez qu'ils sont dans le même fil cependant.domaines d'application dans COM interop

Pourquoi est-ce? Y at-il un moyen de s'assurer qu'ils seront dans le même domaine?

+0

Dans quel contexte? IIS, application de bureau? –

+0

application de bureau –

Répondre

0

L'appel d'une classe .NET exposée en tant que COM nécessite le marshaling de données. AppDomains sépare l'accès aux données. Lorsque vous appelez un composant COM (qu'il s'agisse d'une application .NET), vous devez le placer dans une boîte de sable. Dans .NET, sand-boxing utilise différents AppDomain.

Questions connexes