.Net Remoting: обернуть объекты пользователя против большего количества удаленных каналов - PullRequest
3 голосов
/ 07 декабря 2009

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

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

Существуют каналы для связи сервис-клиент и коммуникации сервис-плагин, но ничего для облегчения коммуникации плагин-клиент. Таким образом, любой объект, созданный плагином, должен быть обернут в определенный сервисом объект, прежде чем он сможет пройти к клиенту (в противном случае возникает исключение из-за отсутствия приемников канала).

Если это имеет смысл, мой вопрос таков: должен ли я продолжать этот шаблон или я должен создавать каналы между плагином и клиентскими доменами приложений, чтобы позволить объектам, инстанцированным плагином, идти в клиентское приложение?

Спасибо за любое образование по этому предмету!

1 Ответ

3 голосов
/ 29 декабря 2009

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

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

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

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

...