Grundsätzlich, von dem, was ich verstanden habe, von dem kleinen, das ich im Internet gesucht habe, können Threads zwischen AppDomains übergeben werden. Jetzt habe ich den folgenden Code geschrieben:AppDomain und threading
const string ChildAppDomain = "BlahBlah";
static void Main()
{
if (AppDomain.CurrentDomain.FriendlyName != ChildAppDomain)
{
bool done = false;
while (!done)
{
AppDomain mainApp = AppDomain.CreateDomain(ChildAppDomain, null, AppDomain.CurrentDomain.SetupInformation);
try
{
mainApp.ExecuteAssembly(Path.GetFileName(Application.ExecutablePath));
}
catch (Exception ex)
{
// [snip]
}
AppDomain.Unload(mainApp);
}
}
else
{
// [snip] Rest of the program goes here
}
}
Dies funktioniert gut, und alles ist in Ort klicken ... Der Haupt-Thread geht in die neue Version meines Programms durch und startet durch den Hauptkörper. Meine Frage ist, wie würde ich gehen, um es wieder zu dem Elternteil AppDomain
gehen? Ist das möglich? Ich versuche, eine Instanz einer Klasse zwischen den beiden Domänen zu teilen.
Alle Hinweise auf gute Ressourcen, wie Remoting zu tun? –
Nichts besser als MSDN: http://msdn.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx Dieser Forenbeitrag enthält ein relevantes Codebeispiel: http://social.msdn.microsoft.com/Foren/de-DE/netfxremoting/thread/e2dc5846-ded5-4c01-acd1-2ac5f3285ec3 –