Почему WCF ограничивает нас открытием именованного канала только на один компьютер? - PullRequest
1 голос
/ 06 января 2011

В чем причина открытия именованного канала только один раз для каждой машины? Я имею в виду, в чем причина этого ограничения?

1 Ответ

0 голосов
/ 06 января 2011

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

  1. Когда мы отправляем сообщение в службу, как мы узнаем, какой слушатель примет наше сообщение??
  2. Действительно ли нам нужны накладные расходы на избежание состояния гонки, когда два слушателя пытаются получить одно и то же сообщение?
  3. Ожидаем ли мы, что каждый слушатель получит сообщение, или только одно?

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

Обновление Крис Диксон указывает, что разрешение двум слушателям на одном канале создает проблему безопасности, известную как атака на корточках , когда мошеннический хост может получать запросы и похищать личность вызывающего абонента.Это разветвление пункта 1 выше.

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