Короткая версия:
Когда я создал канал с помощью ChannelFactory на клиенте, который использует дуплексную связь, мне нужно оставить канал открытым для получения обратного вызова или я могу вызвать ChannelFactory.Close ()?
Длинная версия:
Я разрабатываю свой первый сервис WCF и создал свой собственный класс ClientProxy, который реализует и объединяет несколько разных сервисов в один. Я использую ChannelFactory для создания каждого канала, и мое общее чтение в сети показало, что я должен кэшировать ChannelFactory, но я должен открывать и закрывать фактический канал только тогда, когда это необходимо.
Поэтому я вызываю ChannelFactory.Open, чтобы открыть канал и выполнить дуплексную операцию (односторонняя операция, которая позднее вызывает обратный вызов). Должен ли я закрыть этот канал, вызвав ChannelFactory.Close после того, как я запросил операцию, и если я это сделаю, получу ли я обратный вызов?
Базовое тестирование указывает на то, что я получу обратный вызов, если закрою соединение, однако я просто хочу быть уверен. Также корректен ли этот метод кэширования ChannelFactory?
Спасибо