Эффективность нескольких служб, предоставляемых через удаленное взаимодействие .NET, с использованием большего количества каналов или конечных точек?

Я использую удаленное взаимодействие через TCP для прототипа распределенного серверного приложения, где я хочу иметь различные службы, предоставляемые каждым процессом удаленного сервера.

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

Мне интересно, эффективнее ли иметь несколько служб в одном процессе по одному и тому же каналу удаленного взаимодействия, различающемуся URI / URL-адресом конечной точки, или мне следует создавать новые каналы на разных портах для каждой службы в одном процессе?

Использование портов - не такая уж большая проблема, поскольку количество служб будет небольшим, а конфигурация сети и машины полностью контролируется.

Также мне неясно, отправляет ли удаленное взаимодействие строку URI для каждого отдельного сообщения или только во время соединения, и достаточно ли интеллектуальна структура удаленного взаимодействия, чтобы уменьшить объем работы, если вызовы выполняются на одном компьютере и даже в одном и том же процессе?

Заранее спасибо.


person iam    schedule 14.04.2010    source источник
comment
Используя wirehark, я обнаружил, что удаленное взаимодействие будет отправлять строку URI для каждого удаленного обмена, поэтому кажется, что от использования разных сокетов для двух служб, размещенных в одном процессе, нечего было бы получить. Было бы также предположить, что использование короткой строки URI является хорошей идеей, когда это возможно.   -  person iam    schedule 14.04.2010


Ответы (1)


Вы также можете размещать отдельные процессы через один и тот же порт, используя службу общего доступа к портам Net.Tcp.

person David M    schedule 14.04.2010
comment
Это то, что делает удаленное взаимодействие, используя строку URI для направления трафика, если он находится на том же порту? - person iam; 14.04.2010
comment
Нет, не совсем так. Это служба, позволяющая совместно использовать порт между процессами. - person David M; 14.04.2010