Ereignis nicht ausgelöst durch AppDomain
-
01-10-2019 - |
Frage
Ich bin eine Menge Ärger mit AppDomains haben. Ich zur Zeit eine AppDomain enthält Kamerasteuerungen haben, und ich versuche, Events von diesem sekundären AppDomain angehoben zu haben (wie ein Bild aufgenommen wird) zum Hauptprogramm zurückkommen. Alles scheint richtig eingerichtet werden (Ereignisse registriert sind, Funktionen werden über Domain boundry laufen), aber wenn ich versuche, zu berufen, passiert nichts. Alles, was ich zu diesem Thema finden beinhaltet Ausnahmen eher angehoben werden als nur gar nichts passiert.
Ich weiß nicht, wie viel besser ich es als das erklären kann, so dass ich ein (sehr einfaches) Diagramm gemacht und kann beliebigen Code schreiben, das notwendig ist.
http://a.imageshack.us/img832/8205/cameradiagram.png
Ein Haltepunkt Feuer im OnPictureUpdated.Invoke(pic);
Teil innerhalb des sekundären AppDomain, aber nichts (entweder innerhalb CameraContainer
oder in der Hauptanwendung erhöht wird. Ich bin ein NULL-Prüfung zu tun, wenn Ereignisse aufrufen, ich habe einfach nicht umsetzen, die in dem Diagramm .
Lösung
1 für den Aufwand in der Frage.
Ich glaube, das kann nur sein, weil Ihr CameraContainer
kein MarshalByRefObject
ist. Weil es auf das Ereignis Anbringen der AppDomain
die CameraManager
enthalten muss, um effektiv wieder in den primären AppDomain
rufen, wenn das Ereignis ausgelöst wird.