2010-08-26 5 views
4

J'ai beaucoup de problèmes avec AppDomains. J'ai actuellement un AppDomain contenant des contrôles de caméra, et j'essaie de faire en sorte que les événements de cet AppDomain secondaire (comme une photo prise) reviennent au programme principal. Tout semble être configuré correctement (les événements sont enregistrés, les fonctions s'exécuteront à travers la limite de domaine) mais quand j'essaye d'invoquer, rien ne se passe. Tout ce que je peux trouver sur le sujet implique des exceptions soulevées plutôt que de ne rien faire du tout. Je ne sais pas comment je peux mieux l'expliquer que cela, j'ai donc fait un diagramme (très simpliste), et je peux poster tout le code nécessaire.L'événement ne se déclenche pas via AppDomain

http://a.imageshack.us/img832/8205/cameradiagram.png

Un feu de point d'arrêt dans la partie OnPictureUpdated.Invoke(pic);, à l'intérieur du AppDomain secondaire, mais rien (à l'intérieur CameraContainer ou dans l'application principale est soulevée. Je suis en train de faire un chèque nul lors de l'appel des événements, je viens n » t le mettre dans le diagramme.

+0

Quel est le type de base de CameraContainer? – JaredPar

+0

Objet @JaredPar; il n'hérite de rien. – Jess

Répondre

5

+1 pour l'effort dans la question.

Je crois que cela peut être juste parce que votre CameraContainer est pas MarshalByRefObject. parce qu'il est attaché à l'événement, le AppDomain contenant le CameraManager doit effectivement rappeler dans le AppDomain primaire lorsque l'événement est déclenché.

+0

Cela semble l'avoir résolu! Content que ce soit quelque chose de simple. Merci! – Jess

+0

Êtes-vous sûr que 'CameraContainer' est déclenché dans le domaine principal? Parce que je ne peux pas le reproduire. –

Questions connexes