У меня есть служба, которая общается с другими службами на той же машине по именованным каналам. Все работает хорошо, если я сначала запускаю службу, но через некоторое время я получаю это исключение:
"Соединение канала было прервано, потому что асинхронное чтение из канала не было завершено в течение выделенного времени ожидания 00:02:00. Время, отведенное для этой операции, могло быть частью более длительного времени ожидания." у которого есть внутреннее исключение, которое говорит: «Операция не может быть завершена, потому что канал был закрыт. Это могло быть вызвано приложением на другом конце канала, выходящего». пока я делаю какие-либо звонки между службами.
Услуги являются частью механизма pub / sub. У меня есть разные клиенты, звонящие в службу, эта служба имеет PerSession instancecontextmode. Клиенты подключаются через привязку netTcp и отправляют keepalive каждые 30 секунд, чтобы поддерживать свой сеанс tcp, чтобы служба могла выполнять обратные вызовы для клиентов. Затем у меня есть другой сервис, который представляет собой одноэлементный сервис, к которому все другие экземпляры сервиса подключаются через привязку именованных каналов, и целью этой второй привязки является маршрутизация событий. Я боюсь, что архитектура может иметь какое-то отношение к моей проблеме здесь.