Клиент-серверная связь Silverlight - PullRequest
3 голосов
/ 17 октября 2010

У меня есть приложение WPF, которое я хочу портировать на Linux / Mac.Кажется, что наиболее логичный способ разделить приложение на две части: клиент и сервер, использовать Silverlight для клиентского интерфейса и запустить серверную часть (как невидимое консольное приложение) в Mono.

Но как лучше всего связать эти две части?Silverlight 4 поддерживает COM-взаимодействие, но я не могу его использовать, потому что он не работает в Moonlight.Поэтому я думал о сокет-соединении с localhost и использую JSON или что-то подобное.Или есть лучший способ, который не требует от меня написания десятков оболочек для всех функций, содержащихся в server-dll?Поскольку связь будет происходить между Mono <> Moonlight, может быть, я могу использовать нечто подобное COM-взаимодействию, которое является кроссплатформенным?

Ответы [ 3 ]

1 голос
/ 25 октября 2010

возможно, вы можете использовать Eneter Messaging Framework.
Это позволяет реализовать связь между Silverlight и автономным приложением на основе Tcp. Низкоуровневая коммуникация скрыта, а структура очень проста в использовании.
Вы можете увидеть следующий пример:
http://eneter.blogspot.com/2010/07/silverlight-interprocess-communicatin.html

1 голос
/ 18 октября 2010

Вы на правильном пути.

Вы должны создать приложение веб-сервера, и приложение Silverlight будет связываться с ним через http://localhost через REST или SOAP.

0 голосов
/ 18 октября 2010

Джошуа - Я немного сбит с толку (и не имею в виду это негативно).Если приложение работает на компьютере пользователя, то нет ли «сервера» для подключения?

Какова природа серверных компонентов?- что они делают?Разве вы не можете просто запустить все это из SilverLight?

SilverLight предоставляет хост времени выполнения для .Net, в этом смысле он может содержать все ваше приложение - которое все еще может быть многоуровневым, как «обычный» вебрешение, так что вы можете иметь отдельные сборки для Business Logic и т. д.

...