Все говорят, что .NET Remoting заменяется WCF, но мне интересно, насколько это точно. Я не встречал официального сообщения о том, что удаленное взаимодействие устарело, и мне кажется, что существуют сценарии, в которых удаленное взаимодействие имеет больше смысла, чем WCF. Ни один из объектов или методов, связанных с удаленным взаимодействием, не объявлен устаревшим даже в версии 4.0 платформы. Я также понимаю, что System.AddIn в фреймворках 3.5 и 4.0 использует удаленное взаимодействие.
Есть ли у кого-нибудь официальное заявление об обратном?
В статье Выбор параметров связи в .NET (для 3.0, поскольку это последняя версия этой статьи) говорится:
8 Обмен данными между приложениями
Если вам нужно поддерживать связь между объектами в разных доменах приложений в рамках одного процесса, вы должны использовать удаленное взаимодействие .NET.
Конечно, это неверно, поскольку WCF, безусловно, можно использовать для пересечения границ доменов приложений, но дает ли он официальную рекомендацию для этого сценария?
Обновление: я отправил Клеменсу Вастерсу (который был в команде, владеющей удаленным взаимодействием и WCF) этот вопрос:
Клеменс, я понимаю, что вы входите в команду, которая владеет как удаленным взаимодействием, так и wcf, и у меня есть пара вопросов, которые, как мне кажется, мне нужно задать источнику.
Во-первых, у меня вопрос о том, исчезнет ли удаленное взаимодействие. В частности, у нас есть довольно большое приложение, которое широко использует удаленное взаимодействие для внутрипроцессного взаимодействия между доменами приложений, и мне было интересно, считается ли такое использование удаленного взаимодействия «устаревшим». Если да, будут ли заменены AppDomain.CreateInstance и друзья на что-то другое?
Это его ответ:
Удаленное взаимодействие является частью .Net Framework и никуда не денется. COM присутствует в Windows со времен Windows NT 3.5 / Windows 95 и никуда не делся, и я не думаю, что он исчезнет в ближайшее время.
Тем не менее, в Remoting вкладываются минимальные инвестиции. WCF является преемником удаленного взаимодействия и заменяет COM / DCOM управляемым кодом.
Для внутрипроцессного взаимодействия между доменами удаленное взаимодействие - это собственный способ взаимодействия среды CLR. Если вы наблюдаете проблемы с производительностью при перекачивании больших объемов данных или очень большого количества сообщений за короткое время, вам следует серьезно взглянуть на WCF и NetNamedPipeBinding.
Ответы:
Назвать это устаревшей технологией - более точное описание.
http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx
Обновление: WCF не делает различий между доменами между / внутри / процесса / между / внутри приложения. Если вы используете связь на одной машине в WCF, вы используете именованные каналы - их использование должно обеспечивать хорошую производительность практически во всех реалистичных сценариях.
Для сравнения производительности различных распределенных коммуникационных технологий см. Здесь .
источник
Да. Удаленное взаимодействие устарело ... и официально от Microsoft. Вот ссылка:
Удаленное взаимодействие .NET
В первой строке статьи выделено жирным шрифтом:
Я думал, что это словоблудие «устарело», но, видимо, они называют его «наследием»
источник
Если вы хотите перейти на .NET Core, вам все равно нужно найти другое решение для удаленного взаимодействия:
Источник: https://docs.microsoft.com/en-us/dotnet/core/porting/libraries#remoting
источник
Клеменс Вастерс, технический руководитель Microsoft .NET Service Bus (что означает как удаленное взаимодействие, так и WCF), в этом сообщении на форуме рассказывает о WCF и удаленном взаимодействии . Подводя итог посту, он в конечном итоге рекомендует WCF вместо удаленного взаимодействия.
Я не уверен, использует ли .NET 4.0 внутреннее удаленное взаимодействие, но вы можете попробовать отправить Клеменсу вопрос ... Я уверен, что он знает ответ.
источник
Я думаю, что сейчас (2015 г.) это достаточно ясно даже для доменов кросс-приложений: https://msdn.microsoft.com/en-us/library/vstudio/ms180984(v=vs.100).aspx
Тогда WCF следует использовать и для доменов с несколькими приложениями.
источник