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


Локальный канал

Локальный канал — это транспортный канал Windows Communication Foundation (WCF), используемый для обмена данными в одном домене приложения. Это полезно в случаях, когда клиент и служба работают на одном домене приложения и требуется избежать увеличения расхода ресурсов типичного WCF-канала (сериализация и десериализация сообщений).

Обсуждение

Пример LocalChannel состоит из двух файлов проекта:

  • LocalChannel: программное представление локального канала в текущем домене приложения. В этом проекте отправляющий модуль размещает сообщение в очереди памяти, а получающий модуль выводит его из очереди, получая сообщение.

  • ClientAndService: этот проект размещает службу в консольном приложении, а затем запускает клиент для вызова службы из одного домена приложения.

Конструктор локального канала пропускает стек каналов и процесс сериализации для увеличения скорости. Локальный канал транспорта реализуется при помощи очереди, которая используется для переноса вызовов службы от клиента к службе и возвращения значения клиенту. Вместо сериализации параметров и возвращения значений образец копирует объекты.

Настройка, сборка и выполнение образца

  1. Постройте и запустите решение LocalChannel.

  2. Запускается узел службы, клиент вызывает службу при помощи локального канала. Появляется окно консоли, в котором отображаются результаты вызова службы.