Действительно ли WCF заменяет .NET Remoting?

Я могу понять, что WCF в целом лучше, чем удаленное взаимодействие, но мне они кажутся совершенно разными. MS делает эту красивую картинку, чтобы показать, насколько хорош WCF (или, возможно, насколько плохи другие специалисты, чтобы каждый раз отмечать только один флажок): alt text
(источник: microsoft.com)

Но WCF сосредоточен на SOA, и я не считаю правильным предполагать, что каждое сетевое приложение хочет предоставлять услуги.

В моем случае я ищу способы репликации объектов между двумя экземплярами серверного приложения на разных компьютерах. WCF, похоже, просто предоставляет современную версию COM ... получает объект и вызывает методы, и он волшебным образом вызывает версию на другом ПК. Но Remoting, похоже, сделал что-то совсем другое, и я не понимаю, почему он устарел без замены на аналогичную технологию.

Итак, MS вообще заявляет, что удаленное взаимодействие мертво? Или они по-прежнему поддерживают его, признавая, что он занимает свое место рядом с WCF?


person Mr. Boy    schedule 02.07.2010    source источник
comment
См. stackoverflow.com/questions/1294494/ Кроме того, довольно легко запустить конечную точку WCF в вашем приложении и отправлять объекты туда и обратно.   -  person nos    schedule 02.07.2010
comment
Я не говорю, что это точный дубликат, из-за конкретного описания вашей ситуации. Но (как и указанные выше номера) в этом вопросе обсуждается, устарело ли удаленное взаимодействие stackoverflow.com/questions/1294494/   -  person MarkJ    schedule 02.07.2010
comment
@nos, чтобы отправлять объекты туда и обратно, вам все еще нужен API, хотя, как newForumPos (ForumPost) и т. д., вам нужно написать код для передачи объектов или их полей, а не делать это автоматически, как работает XSTM ( xstm.net)   -  person Mr. Boy    schedule 02.07.2010
comment
Да, XSTM - это нечто совершенно иное, чем удаленное взаимодействие .net и wcf.   -  person nos    schedule 02.07.2010
comment
теперь grpc заменяет wcf ...   -  person Lei Yang    schedule 24.06.2021


Ответы (1)


Он действительно заменяет удаленное взаимодействие .Net. Вы можете использовать двоичный форматтер с каналом Tcp и получить тот же опыт, что и удаленное взаимодействие.

В вашем случае удаленное взаимодействие не кажется правильным выбором. Если вы хотите реплицировать объекты, например, делать их копии в другом месте, вы хотите сериализовать их и отправить в виде пакета («сообщение» на жаргоне WCF) для загрузки в тип (может быть тем же введите ту же сборку, но развернутую на другом сервере) на удаленной конечной точке. В этом WCF выделяется. Удаленное взаимодействие даст вам соединение с «живым» объектом от одной конечной точки до другой.

person codekaizen    schedule 02.07.2010
comment
Возможно, я неправильно понимаю удаленное взаимодействие ... он реплицирует объекты или хранит копию сервера, к которой доступен удаленно? - person Mr. Boy; 02.07.2010
comment
@John: ни, ни - WCF - это все об отправке сериализованных сообщений - сообщений, которые являются просто данными, без поведения / кода / методов. В этом отношении да, WCF не может заменить удаленное взаимодействие, поскольку на самом деле это не технология удаленного управления объектами. - person marc_s; 02.07.2010
comment
@John - с .Net Remoting это последнее: вы получаете доступ к состоянию объекта удаленно и просто маршалируете вызовы от конечной точки к конечной точке. Если вы хотите отправить фактический объект, вам нужно больше ориентироваться на службы, которые сериализуют состояние объекта и отправляют его как сообщение от конечной точки к конечной точке. WCF может делать и то, и другое, но отправлять сообщения более естественно. Причина этого в том, что через DCOM мы узнали, что прозрачный доступ к состоянию объекта через границы - это плохой дизайн. - person codekaizen; 02.07.2010
comment
хорошо, это имеет больше смысла. Я думал, что удаленное взаимодействие - это синхронизация копий одного и того же объекта, как вы описываете, вы правы, что в нашем случае это не подходит. - person Mr. Boy; 02.07.2010
comment
Если вы хотите синхронизировать копии, вы можете взглянуть на Sync Framework: msdn.microsoft.com/en-us/sync/bb821992.aspx - person codekaizen; 02.07.2010