Событие не запускается через AppDomain - PullRequest
5 голосов
/ 27 августа 2010

У меня много проблем с доменами приложений. В настоящее время у меня есть AppDomain, содержащий элементы управления камерой, и я пытаюсь, чтобы события из этого вторичного AppDomain (например, снимок) возвращались в основную программу. Кажется, все настроено правильно (события зарегистрированы, функции будут выполняться через границы домена), но когда я пытаюсь вызвать, ничего не происходит. Все, что я могу найти по этому вопросу, касается возникающих исключений, а не просто ничего не происходит вообще.

Я не знаю, насколько лучше я могу это объяснить, поэтому я сделал (очень упрощенную) диаграмму и могу опубликовать любой необходимый код.

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

Точка останова срабатывает в части OnPictureUpdated.Invoke(pic);, внутри вторичного домена приложений, но ничего (ни внутри CameraContainer, ни в основном приложении не возникает. Я делаю нулевую проверку при вызове событий, я просто не ставил что на диаграмме.

1 Ответ

5 голосов
/ 27 августа 2010

+ 1 за усилие в вопросе.

Я полагаю, что это может быть просто потому, что ваш CameraContainer не MarshalByRefObject.Поскольку он присоединяется к событию, AppDomain, содержащий CameraManager, фактически должен вызывать обратный вызов первичного AppDomain при возникновении события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...