Поделиться через


Разработка каналов

Для разработки протокола или канала транспорта, который может использоваться с Windows Communication Foundation (WCF), прикладной уровень требует выполнения нескольких действий. В этом разделе описываются эти действия и указываются конкретные разделы для получения дополнительных сведений. Описание модели канала и различных типов, упомянутых в данном разделе, см. в разделе Общие сведения о модели каналов. Полный пример канала транспорта приведен в разделе Транспорт: UDP.

Список задач разработки канала

Чтобы создать канал, определенный пользователем, выполните следующие действия (для всех каналов).

  1. Решите, какой из шаблонов обмена сообщениями по каналу (IOutputChannel, IInputChannel, IDuplexChannel, IRequestChannel или IReplyChannel) будет поддерживаться фабрикой IChannelFactory и прослушивателем IChannelListener, а также, будет ли этот шаблон поддерживать связанные с сеансами разновидности указанных интерфейсов. Подробные сведения см. в разделе Выбор шаблона обмена сообщениями.

  2. Создайте фабрику и прослушиватель каналов (IChannelFactory и IChannelListener), которые поддерживают выбранный шаблон обмена сообщениями. Подробные сведения о разработке фабрик см. в разделе Клиент: фабрики каналов и каналы. Подробные сведения о разработке прослушивателей см. в разделе Служба: прослушиватели каналов и каналы.

  3. Обеспечьте, чтобы любые исключения, связанные с сетью, нормализовались либо в System.TimeoutException, либо в соответствующий класс, унаследованный от CommunicationException. Подробные сведения см. в разделе Обработка исключений и сбоев.

  4. Чтобы разрешить использование из прикладного уровня, добавьте элемент BindingElement, добавляющий пользовательский канал в стек каналов. Дополнительные сведения см. в разделе Создание элемента привязки BindingElement.

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

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

  2. Добавьте расширения метаданных, чтобы сообщить о возможностях в другие конечные точки. Дополнительные сведения см. в разделе Конфигурация и поддержка метаданных.

  3. Добавьте привязку, которая предварительно настраивает стек элементов привязки в соответствии с четко определенным профилем. Дополнительные сведения см. в разделе Создание пользовательских привязок.

  4. Добавьте раздел привязки и элемент конфигурации привязки, чтобы представить привязку системе конфигурации. Дополнительные сведения см. в разделе Конфигурация и поддержка метаданных.

См. также

Другие ресурсы

Расширение привязок