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


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

Для разработки протокола или транспортного канала, который можно использовать с уровнем приложений 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. Добавьте раздел привязки и элемент конфигурации привязки, чтобы представить привязку системе конфигурации. Дополнительные сведения см. в разделе "Поддержка конфигурации и метаданных".

См. также