2010-08-26 3 views
4

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

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

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

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

+0

Что такое базовый тип CameraContainer? – JaredPar

+0

@JaredPar Object; он ничего не наследует. – Jess

ответ

5

+1 за усилия в этом вопросе.

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

+0

Кажется, это решило! Рад, что это было просто. Благодаря! – Jess

+0

Вы уверены, что 'CameraContainer' запускается в основном приложении? Потому что я не могу воспроизвести его. –

Смежные вопросы