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


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

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

Обсуждение

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

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

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

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

Настройка, сборка и запуск примера

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

  2. Хост службы запускается, и клиент вызывает службу через локальный канал. Откроется окно консоли для отображения результатов вызова службы.