Интерфейс GUI и Windows

Я знаю с Vista, что С# не может подключить пользовательский интерфейс непосредственно к службе Windows. Это было указано на сайте Microsoft.

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

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

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

ТИА

Ответ 1

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

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

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

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

Ответ 2

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