Is.NET Remoting действительно устарел?


все говорят, как .NET Remoting заменяется WCF, но мне интересно, насколько это точно. Я не видел ни одного официального слова о том, что удаленное взаимодействие устарело, и мне кажется, что есть, конечно, сценарии, где удаленное взаимодействие имеет больше смысла, чем WCF. Ни один из связанных с удаленным взаимодействием объектов или методов не был устаревшим, даже в версии 4.0 платформы. Это также мое понимание этой системы.Добавление в рамках 3.5 и 4.0 использует удаленное взаимодействие.

тут у кого-нибудь есть официальное слово наоборот?

в статье выбор параметров связи в .NET (для 3.0, так как это последняя версия этой статьи), он гласит:

8 Кросс-домена приложения, Сообщения

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

теперь, это, конечно, не точно, поскольку WCF, безусловно, может использоваться для пересечения границ appdomain, но дает ли он официальную рекомендацию для этого сценария?

Update: я отправил Клеменсу Вастеру (который был в команде, которая владеет Remoting и WCF) этот вопрос:

Клеменс, я понимаю, что вы в команде, которая владеет как remoting, так и wcf, и у меня есть несколько вопросов, которые, я считаю, мне нужно перейти к источнику.

во-первых, у меня есть вопрос о том, идет ли дистанционное управление прочь. В частности, у нас есть довольно большое приложение, которое широко использует удаленное взаимодействие для межпроцессного взаимодействия между приложениями, и мне было интересно, считается ли это использование удаленного взаимодействия "наследием". Если да, то будет AppDomain.CreateInstance и друзья будут заменены чем-то другим?

вот его ответ:

удаленное взаимодействие является частью .Net Framework и как таковой оно не уходит. COM был в Windows с Windows NT 3.5 / Windows 95 и не имеет ушел, и я не вижу, чтобы это уходило в ближайшее время.

тем не менее, есть очень минимальные инвестиции в развитие, идущие в удаленном режиме. WCF является преемником удаленного взаимодействия и заменяет COM/DCOM для управляемого кода.

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

4 87

4 ответа:

называть это устаревшей технологией-более точное описание.

http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx

этот раздел относится к наследию технология, которая сохраняется для обратная совместимость с существующими приложения и не рекомендуется для новых разработок. Распределенный приложения должны быть разработаны с помощью окна сообщения Основа (ФОС.)

обновление: WCF не различает inter/intra/process/inter/intra-appdomain. Если вы используете однокомпонентную связь в WCF, вы используете именованные каналы-использование этого должно обеспечить хорошую производительность практически во всех реалистичных сценариях.

Для сравнения производительности различных распределенных коммуникационных технологий посмотреть здесь.

да. Удаленное взаимодействие не рекомендуется...и это официально от Microsoft. Вот ссылка:

.NET Remoting

первая строка в статье написано жирным шрифтом:

этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для новой разработки. Распределенные приложения должны теперь разрабатывается с использованием Windows Communication Foundation (ФОС.)

Я думал, что словосочетание было "устаревшим", но, видимо, они ссылаются на него как на "наследие"

Клеменс Вастерс, технический лидер для служебной шины Microsoft .NET (что означает как удаленное, так и WCF) говорит о WCF против удаленного доступа в этот пост на форуме. Подводя итог сообщению, он в конечном итоге рекомендует WCF через удаленное взаимодействие.

Я не уверен, что .NET 4.0 использует удаленное взаимодействие внутри, но вы можете попробовать отправить Клеменсу вопрос... Я уверен, что он знает ответ.

Я думаю, что теперь (2015) это вполне понятно даже для перекрестного применения домены: https://msdn.microsoft.com/en-us/library/vstudio/ms180984 (v=vs. 100). aspx

Remoting Cross AppDomains Этот раздел относится к наследию технология, которая сохраняется для обратной совместимости с существующими применения и не рекомендуется для новых разработок. Распределенный приложения теперь должны разрабатываться с использованием Windows Communication Фонд (WCF).

тогда WCF следует использовать и для кросс-доменов приложений.