2011-01-20 3 views
0

일부 C# winforms 응용 프로그램 용 (GUI 포함) 개발 중, Winforms가 응용 프로그램 도메인 테두리를 통해 작동하지 않는다는 것을 발견했습니다. MarshalByRef 등의 컨트롤이 필요합니다. 따라서 일반적으로 새 플러그인 버전을 업로드하려면 이전 plugin.dll을 언로드 할 수 없어 애플리케이션을 다시 시작해야합니다.완전히 직렬화 가능하고 원격 작업 GUI 프레임 워크가 가능합니까?

내 질문은 - 완전히 serializable, 원격 작업 GUI 프레임 워크를 가질 수 있습니까?

(질문을 다시 말하면 부담 스럽지만 곧 표현하는 법을 모르겠습니다.)

답변

0

예 가능하지만 약간 힘듭니다.

  • 프로세스 ->은 AppDomain1를 생성
  • AppDomain1 ->이 AppDomain2를 작성해
  • 새로운 pluggin는 AppDomain1는
  • 을 pluggin
  • AppDomain1로드 새로운 AppDomain2을 언로드
  • 도착 응용 프로그램을로드 진입 점을로드
  • AppDomain1 AppDomain2를 만들고 응용 프로그램을로드 할 진입 점을로드합니다.

물론 이것은 다시로드하는 것이 포함되지만 앱에서 마지막으로 있었던 부분을 처리 할 수 ​​있습니다.

+0

GUI는 AppDomain 경계를 통해 작동하지 않으며, 컨트롤은 MarshalByRef가 아닙니다. – rudnev

+1

물론 MarshalByRef가 아니지만 그렇더라도 서버에 호스팅 할 때 아무런 의미가 없으며 'windows'형식입니다 WIN32 API 및 WIN32 메시지 루프 및 모든 것을 기반으로하는 컨트롤. 그들을 호스트 할 수 없습니다. – Aliostad

관련 문제