Возможна ли полностью сериализуемая, удаленно работающая среда графического интерфейса? - PullRequest
0 голосов
/ 20 января 2011

Разрабатывая плагины (которые включают GUI) для некоторых приложений на C # winforms, я обнаружил, что Winforms не может работать через границу домена приложения. Для этого требуются элементы управления MarshalByRef и т. Д. Поэтому, как правило, для загрузки новой версии плагина нам необходимо перезапустить приложение, поскольку мы не можем выгрузить прежний файл plugin.dll.

Итак, мой вопрос - возможно ли иметь полностью сериализуемую, удаленно работающую структуру графического интерфейса?

(Не стесняйтесь, если вы можете перефразировать вопрос, я не знаю, как его выразить в ближайшее время).

1 Ответ

0 голосов
/ 20 января 2011

Да, это возможно, но немного болезненно.

  • Процесс -> создает AppDomain1
  • AppDomain1 -> Создает AppDomain2 и загружает точку входа, которая загрузит приложение
  • Новый плагин прибывает
  • AppDomain1 выгружает AppDomain2
  • AppDomain1 загружает новый плагин
  • AppDomain1 Создает AppDomain2 и загружает точку входа, которая загрузит приложение

Это, конечно, включает в себя перезагрузку, но вы можете позаботиться о том, где в последний раз все было в вашем приложении.

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