Экземпляр, сеанс и параллелизм для дуплексного обслуживания - PullRequest
2 голосов
/ 15 июля 2010

У меня есть требование, чтобы служба отправляла сообщение клиенту каждую секунду.Для службы может быть только один клиент.

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

  1. Всегда ли требуется сеанс для дуплексной службы?SessionMode.Required

  2. Всегда ли InstanceContextMode должен быть PerSession.InstanceContextMode = InstanceContextMode.PerSession?

  3. Каким должен быть ConcurrencyMode?

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

  5. Я буду реализовывать операцию пульса, чтобы проверить доступность службы.Должен ли это быть односторонний или запросный ответный вызов и будет ли этот вызов в том же сеансе?

Спасибо.

1 Ответ

1 голос
/ 02 марта 2011

Может быть, я опаздываю на несколько месяцев ... Если у вас только один клиент, и в будущем у вас не будет больше клиентов, вы можете использовать самые простые настройки: InstanceContextMode.Singleton, SessionMode.NotAllowed.

О ConcurrencyMode вы можете прочитать в этом уроке: http://codeidol.com/csharp/wcf/Concurrency-Management/Service-Concurrency-Mode/

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