Я не знаю какого-либо официального руководства, которое называет преемника DCOM, но .NET имеет две структуры, которые могут заменить использование DCOM. Это WCF и .NET Remoting.
WCF может использоваться как замена всех транспортных возможностей, предоставляемых DCOM и др. Если вы находитесь в ситуации, когда вы не можете использовать .NET 3.0 или более новые версии; вместо этого вы можете использовать только удаленный доступ .NET. Обе структуры внутри .NET позволяют вам отправлять вызовы и передавать управление исполнением хостам в других потоках, процессах и компьютерах. Вероятно, Remoting был заменен DCOM, и он может обрабатывать практически все транспортные функции, но принятие не было таким замечательным.
В общем, большинство людей предпочитают WCF сейчас, потому что все хорошо определено и есть множество функций для контроля аспектов вызовов, сделанных над WCF. В настоящее время регулярная удаленная работа с .NET удаляется из-за того, что вам нужно будет управлять информацией о типе с обеих сторон провода, а не значительным улучшением бремени по сравнению с DCOM. Кроме того, у него нет транспорта с разделяемой памятью, поэтому внутрипотоковая/технологическая связь настраивается только с использованием связи на основе сокетов и с учетом ограничений производительности петлевой петли.
Что касается общих сценариев, которые вы упомянули, практически любое приложение может быть доступно для подключения к другим приложениям через WCF или Remoting. Большинство сложных проблем связаны с взаимодействием с размещенными компонентами в веб-приложениях. В общем, это обычно не делается - звонки выдаются от них, но редко принимаются за пределами веб-активности http/https. Безопасность и управление идентификацией также могут быть сложными, но значительно улучшены при настройке на основе DCOM.
В целом, как WCF, так и .NET Remoting значительно лучше, чем DCOM. Они легче настраиваются и поддерживаются и не имеют одинаковых головных болей регистрации, поскольку COM-компоненты будут использоваться в DCOM. Кроме того, вы получаете внутренние преимущества, такие как естественные исключения библиотек для условий отказа в .NET; тогда как в DCOM вам придется беспокоиться о грамотной обработке неудачной доставки и тайм-аутов в вашем коде приложения.Это само по себе должно значительно уменьшить количество кода, который вы должны написать для обработки таких условий, и с асинхронными вызовами вы также можете отказаться от длительной операции, когда захотите. Это довольно сложно сделать в DCOM.
Возможно, объясните свои основные прецеденты. Будет легче ответить на ваш вопрос по конкретным сценариям – Manu