Каков метод поставания для передачи сообщений между различными процессами в C#?
-
18-09-2019 - |
Вопрос
У меня есть куча аддинов, загруженных Microsoft Addin Framework, все в отдельных процессах.
Пакеты поступают с одной стороны (также добавьте), затем отправляйте в контроллер (также добавление), который координирует процесс пакета. Затем контроллер отправляет пакет на несколько других добавок один за другим, в зависимости от контента и результата, полученного от последнего добавления.
Мой вопрос: будет ли слой связи Addin Framework будет методом постигания этого или получу лучшую производительность от WCF с названными трубами или чистым TCP, или что -то совершенно другое?
Решение
Как и в любом вопросе производительности: нет замены для вашего собственного тестирования.
Если возможно, не жестко кодируйте уровень связи и тестируйте оба, чтобы выбрать дефолт.
Я ожидаю, что NET-TCP будет быстрее, так как названные трубы имеют дополнительные слои абстракции по сравнению с базовыми розетками, но это предположение. (С другой стороны, названные трубки имеют более тесную интеграцию с аутентификацией Windows.)