2009-11-20 4 views
14

С тех пор я знаю, что C# не может подключить пользовательский интерфейс непосредственно к службе Windows. Об этом говорилось на сайте Microsoft.Связь с графическим интерфейсом и окнами

Мой вопрос в этом отношении: «Каков наилучший способ связи с пользовательским интерфейсом к сервису?»

Я слышал о Remoting, веб-сервисах и прямом TCP. Существуют ли другие методы? Как они соотносятся с ранее упомянутыми методами? Насколько сложно их реализовать?

Мое приложение предназначено для использования внутри сети, а не для Интернета. Платформа Microsoft будет с обеих сторон, поэтому интероперабельность не является фактором, но скорость. Я имею в виду, я хочу получить самый маленький пакет в сети.

ТИА

ответ

22

Если вы собираетесь разрабатывать .NET, используйте WCF для вашего взаимодействия между процессами. WCF значительно упрощает разработку, потому что тонкости, связанные с конкретным механизмом связи (например, сокеты, трубы и т. Д.), Абстрагируются за единой моделью программирования. Таким образом, не имеет значения, хотите ли вы использовать HTTP, tcp или именованные каналы для вашего транспортного механизма, модель программирования такая же.

Я очень рекомендую книгу Juval Lowy Programming WCF Services для всех вещей WCF. Вы также можете посетить его сайт, IDesign.net, бесплатно образцы кода WCF.

Для обзора WCF, смотрите это бесплатно video на dnrTV. Он охватывает цель WCF и демонстрирует программирование WCF с помощью некоторых простых примеров.

Если вы еще не создали службу Windows, но планируете сделать это на C#, вы можете выполнить шаг за шагом here.

1

Есть много способов общения между процессами - именованные каналы, почтовые слоты, отображенные на память файлы, сокеты, ActiveX/COM объекты, просто назвать несколько. Это действительно сводится к тому, с какими технологиями вы знакомы/комфортно.

Смежные вопросы