Необходимые рекомендации по использованию Windows Communication Foundations (WCF) - PullRequest
2 голосов
/ 04 февраля 2010

Мне нужно знать, может ли Windows Communication Foundations (WCF) полностью и легко помочь в решении следующего сценария:

  1. Мне нужна серверная программа, которая постоянно получает события, которые, согласносодержание сигнала, помогает запустить один или несколько процессов;эта серверная программа будет работать как служба Windows.

  2. Эти события будут генерироваться как сигналы от многих клиентских программ WPF и, следовательно, могут быть поставлены в очередь.

  3. Эти события также будут генерироваться по результатам таймера.

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

  5. По соображениям безопасности передача данных с использованием эксклюзивного порта должна быть зашифрована.

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

Если ответ положительный, пожалуйста, попробуйте указать мне, какие библиотеки / классы мне следует учитывать за баллы:

 1) The event management
 2) The enqueue process
 4) The setting, opening, use and closing of the port
 5) The encryption process
 6) Monitoring of the server program execution from the client.

Большое, большое спасибо.

Ответы [ 2 ]

1 голос
/ 04 февраля 2010

Вместо того чтобы писать программу Windows Service с нуля, которая должна обрабатывать многопоточные очереди входящих сообщений, почему бы не сделать сервер веб-службой? Таким образом, IIS может беспокоиться о получении, очереди и т. Д., И вы можете просто написать код для обработки запросов.

0 голосов
/ 05 февраля 2010

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

1) Мне нужна серверная программа, которая постоянно получает события,

Ничего страшного, служба NT будет работать постоянно, даже если никто не вошел в систему.

2) Эти события будут генерироваться как сигналы от многих клиентских WPF-программ и поэтому могут быть поставлены в очередь.

Опять же, нет проблем для службы WCF - вы можете создать конечную точку очереди http, net.tcp, MSMQ - на самом деле все в одной службе. Вы получаете всю необходимую вам гибкость.

4) Для связи между клиентом и сервером будет использоваться эксклюзивный порт.

Работает просто отлично - если вы самостоятельно размещаете службу WCF в службе NT, вы можете полностью контролировать адреса конечных точек.

5) По соображениям безопасности передача данных через эксклюзивный порт должна быть зашифрована.

Все сообщения WCF зашифрованы по умолчанию, если вы не отключите их.

6) Наконец, клиенты должны будут отслеживать результаты выполнения программы.

Опять же - не проблема.

Для очереди MSMQ вы можете создать несколько очередей ответов, которые клиенты могут прослушивать. Для HTTP или NetTCP вы можете создать ответное сообщение (если обработка выполняется очень быстро) или создать операцию «проверка состояния», которая позволяет клиентам проверять состояния. Или вы можете смешивать и сочетать по мере необходимости.

В общем, я уверен, что WCF действительно послужит вам очень хорошо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...