Каков лучший выбор для межпроцессного взаимодействия.NET? [закрытый]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

81
задан tshepang 25 February 2014 в 15:45
поделиться

8 ответов

WCF является лучшим выбором. Это поддерживает много различных транспортных механизмов ( включая Названный Каналы ) и может быть полностью управляемой конфигурацией. Я настоятельно рекомендовал бы, чтобы Вы смотрели на WCF.

Вот блог, который делает WCF по сравнению со сравнением производительности Дистанционной работы .

А заключают в кавычки из блога:

WCF и Дистанционная работа.NET действительно сопоставимы в производительности. Различия являются столь небольшими (имеющая размеры клиентская задержка), что она не имеет значения, какой немного быстрее. WCF, хотя имеет намного лучшую пропускную способность сервера, чем Дистанционная работа.NET. Если я запустил бы абсолютно новый проект, я был бы, выбрал WCF. Так или иначе WCF делает намного больше, чем Дистанционная работа, и для всех тех функций я люблю его.

Раздел MSDN для WCF

58
ответ дан Eric Schoonover 24 November 2019 в 09:42
поделиться

Если это находится на единственной машине, Именованные каналы дает Вам лучшую производительность и может быть реализован с инфраструктура дистанционной работы , а также WCF. Или можно просто непосредственно использовать Система. IO.Pipes.

15
ответ дан Mark Cidade 24 November 2019 в 09:42
поделиться

Если Вы имеете в виду межпроцессное взаимодействие, я использовал Дистанционную работу.NET без любой проблемы до сих пор. Если два процесса находятся на той же машине, коммуникация довольно быстра.

Именованные каналы определенно более эффективны, но они требуют дизайна, по крайней мере, основного прикладного протокола, который не мог бы быть выполнимым. Дистанционная работа позволяет Вам вызывать удаленные методы легко.

5
ответ дан Eric Schoonover 24 November 2019 в 09:42
поделиться

Дистанционная работа в Платформе.NET 2.0 обеспечивает канал IPC для межпроцессного взаимодействия в той же машине.

3
ответ дан icelava 24 November 2019 в 09:42
поделиться

Если бы Вы используете Платформу.NET 3.0 или выше, я использовал бы WCF. Используя WCF, можно использовать различную привязку depeneding на компромиссе между performance/interop/etc., в котором Вы нуждаетесь.

, Если производительность не очень важна и Вам нужен interop с другими технологиями веб-сервиса, Вы захотите использовать HTTP-СВЯЗЫВАНИЕ WS. Для Вашего случая можно использовать WCF или с сетевой-tcp привязкой или с привязкой именованного канала. Любой должен работать.

Мое персональное взятие - то, что подход WCF является более чистым, поскольку можно сделать Управляемые Контрактом сервисы и внимание на сообщения, не объекты (я делаю обобщение здесь на основе моделей программирования по умолчанию Дистанционной работы WCF/.NET). Мне не нравится отправлять объекты через провод, потому что большая семантическая информация теряется или не ясна. Когда все, что Вы делаете, отправляет, сообщение как Вы с WCF, становится легче разделить Ваши опасения между коммуникацией и классами/инфраструктурой, что единственный узел состоит из.

3
ответ дан Jason Olson 24 November 2019 в 09:42
поделиться

. Сетевая дистанционная работа не является протоколом в и себя. Это позволяет Вам выбрать который protocal использовать: SOAP, именованные каналы, и т.д.

1
ответ дан Joel Coehoorn 24 November 2019 в 09:42
поделиться

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

0
ответ дан kemiller2002 24 November 2019 в 09:42
поделиться

WCF также обеспечивает гибкость. Просто изменяя некоторую конфигурацию (привязку) вы можете иметь ту же самую службу на некоторой другой машине вместо IPC на той же самой машине. Поэтому ваш код остается гибким.

2
ответ дан 24 November 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: