2009-03-28 2 views
1

Итак, у меня есть проект, запускающий все в частной сети. У меня есть компьютер, взаимодействующий с некоторыми конкретными аппаратными средствами и представляющий пользовательский интерфейс через Winforms, чтобы контролировать их все.Каков наилучший способ удаленных приложений Winforms?

Теперь я хотел бы разделить приложение так, чтобы весь интерфейс и основная бизнес-логика выполнялись на одном компьютере, но графический интерфейс работает на другом, подключенном через сеть. Будет работать только один графический интерфейс. Первый импульс - это, конечно, «использование удаленного рабочего стола», но есть видео с высокой частотой кадров, которые не будут работать так.

В видеоролике можно транслировать несколько способов, но что является самым простым способом связи между интерфейсом Winforms и служебным контентом? .Net Remoting? WCF? Ролл мой собственный?

+0

Спасибо - я пошел и посмотрел на WCF, и, похоже, он делает то, что мне нужно. Образцы баз данных Basic \ Binding \ Net \ Tcp \ Default \ CS представляют собой упрощенные примеры, необходимые для меня. Еще раз спасибо. Это бьет дерьмо из материала ATL, который я делал в прошлом ... – XPav

ответ

1

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

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

+0

WCF - это основное направление, которое будет легко разрабатываться с легкостью для вас и всех будущих разработчиков. Перф хорош, поддержка инструмента хороша, поддержка сообщества хороша, операционные аспекты хорошо изучены. Хороший, безопасный, основной выбор. – Cheeso

1

WCF работает неплохо, но вы также можете проверить SDK RemObjects. Это довольно гибко. У него есть клиентские и серверные компоненты, которые вы бросаете на форму/услугу, и вы можете переключаться между целым рядом протоколов только с помощью свойств изменения. Существуют версии для разных платформ, если вам это нужно.

http://www.remobjectssdk.com/net.aspx

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