2010-07-29 1 views
0

J'apprends le domaine d'application maintenant.Comment créer deux domaines d'application, chacun avec sa propre fenêtre séparée (par opposition à s'introduire dans la fenêtre de l'hôte)?

Mon programme hôte appellera 2 AppDomains qui appellent un ensemble comme suit:

class Program 
{ 
    static void Main(string[] args) 
    { 
     AppDomain ad1 = AppDomain.CreateDomain("appdom1"); 
     ad1.ExecuteAssembly("c:\\InputOutput.exe"); 

     AppDomain ad2 = AppDomain.CreateDomain("appdom2"); 
     ad2.ExecuteAssembly("c:\\InputOutput.exe"); 

     Console.Write("Press any key to unload"); 

     Console.ReadLine(); 

     AppDomain.Unload(ad1); 
     AppDomain.Unload(ad2); 
    } 
} 

Comment faire de chaque appdom avoir sa propre fenêtre plutôt que de résider dans l'application hôte?

Merci d'avance.

Répondre

1

Vous devrez créer des threads pour que cela fonctionne. L'appel Thread.SetApartmentState() est requis pour les rendre threads STA. Pas si sûr que cela arrivera à une bonne fin, ni Windows Forms ni WPF n'a aucun support pour arbitrer des fenêtres dans des domaines d'applications distincts. Peut-être que ça va marcher.

Questions connexes