Todo el mundo está diciendo cómo .NET Remoting está siendo reemplazado por WCF, pero me pregunto qué tan preciso es eso. No he visto ninguna palabra oficial de que Remoting esté siendo desaprobado, y me parece que ciertamente hay escenarios en los que Remoting tiene más sentido que WCF. Ninguno de los métodos o objetos relacionados con Remoting ha quedado obsoleto, incluso en la versión 4.0 del marco. También tengo entendido que System.AddIn en los marcos 3.5 y 4.0 usa Remoting.
¿Alguien tiene alguna palabra oficial que indique lo contrario?
En el artículo, Elegir opciones de comunicación en .NET (para 3.0, ya que esa es la última versión de ese artículo), dice:
8 Comunicaciones de dominio entre aplicaciones
Si necesita admitir la comunicación entre objetos en diferentes dominios de aplicación dentro del mismo proceso, debe utilizar la comunicación remota .NET.
Ahora, eso, por supuesto, no es exacto, ya que WCF ciertamente se puede usar para cruzar los límites del dominio de aplicación, pero ¿está dando la recomendación oficial para ese escenario?
Actualización: le envié a Clemens Vasters (que estaba en el equipo propietario de Remoting y WCF) esta pregunta:
Clemens, tengo entendido que está en el equipo que posee tanto el control remoto como el wcf, y tengo un par de preguntas por las que creo que necesito ir a la fuente.
Primero, tengo una pregunta sobre si la comunicación remota va a desaparecer. Específicamente, tenemos una aplicación bastante grande que utiliza la comunicación remota ampliamente para la comunicación entre dominios de aplicaciones en el proceso, y me preguntaba si este uso de la comunicación remota se considera "heredado". Si es así, ¿AppDomain.CreateInstance y sus amigos serán reemplazados por algo más?
Esta es su respuesta:
La comunicación remota es parte de .Net Framework y, como tal, no va a desaparecer. COM ha estado en Windows desde Windows NT 3.5 / Windows 95 y no ha desaparecido y tampoco veo que eso desaparezca pronto.
Dicho esto, hay una mínima inversión en desarrollo para Remoting. WCF es el sucesor de Remoting y reemplaza COM / DCOM para código administrado.
Para comunicación en proceso, entre aplicaciones y dominios, la comunicación remota es la forma nativa de comunicación de CLR. Si observa problemas de rendimiento al bombear grandes cantidades de datos o muchos mensajes en poco tiempo, debe analizar seriamente WCF y NetNamedPipeBinding.