2010-07-02 9 views
9

Puedo entender que WCF es en general mejor que Remoting, pero los dos me parecen bastante diferentes. MS hacen de esta bonita imagen para mostrar cuán grande WCF es (o tal vez lo pobre que los demás técnicos están a solamente marque una casilla cada uno): alt text http://i.msdn.microsoft.com/dynimg/IC371617.jpg¿WCF realmente reemplaza .NET Remoting?

Pero, WCF se centra alrededor de SOA y yo no creo que sea correcto Supongamos que cada aplicación en red quiere para exponer servicios.

En mi caso estoy buscando la manera de replicar objetos entre dos instancias de una aplicación de servidor en distintos ordenadores. WCF parece dar una versión moderna de COM ... obtener un objeto y llamar a métodos y mágicamente llama a la versión en la otra PC. Pero Remoting parecía hacer algo bastante diferente y no tengo claro por qué fue desaprobado sin ser reemplazado por una tecnología similar.

lo tanto, hacer EM incluso afirman Remoting está muerto? ¿O todavía lo admiten, reconociendo que tiene su lugar junto con WCF?

+0

Ver http://stackoverflow.com/questions/1294494/is-net-remoting-really-deprecated, también - es bastante fácil de disparar hasta un punto final de WCF en su aplicación, y enviar objetos de ida y vuelta. – nos

+0

No estoy diciendo que este sea un duplicado exacto, debido a la descripción específica de su situación. Pero (al igual que los nodos publicados anteriormente), esta pregunta analiza si la comunicación remota está en desuso http://stackoverflow.com/questions/1294494/is-net-remoting-really-deprecated – MarkJ

+0

@nos, para enviar objetos hacia adelante y hacia atrás aún necesita una API aunque al igual que newForumPos (ForumPost), etc ... tienes que escribir código para transferir los objetos o sus campos en lugar de hacerlo de manera automática como funciona XSTM (http://xstm.net/) –

Respuesta

6

Realmente reemplazar .NET Remoting. Puede usar un formateador binario con un canal Tcp y obtener la misma experiencia que la comunicación remota.

Para su caso, la comunicación remota en realidad no parece ser la mejor opción. Si desea replicar objetos, como hacer copias de ellos en una ubicación diferente, entonces desea serializarlos y enviarlos como un paquete (un "mensaje" en la jerga de WCF) para cargarlos en un tipo (podría ser el mismo escriba el mismo ensamblado, pero implementado en un servidor diferente) en el punto final remoto. Aquí es donde sobresale WCF. Remoting le daría una conexión a un objeto "vivo" de un punto extremo al otro.

+0

Quizás entiendo mal la conexión remota ... ¿Replica los objetos o mantiene una copia del servidor que está _accessed_ remotamente? –

+0

@John: ni ni - WCF se trata de enviar mensajes serializados - mensajes que son solo datos, sin comportamiento/código/métodos. En ese sentido, sí, WCF no puede reemplazar la interacción remota ya que no es en realidad una especie "control remoto de objetos" de la tecnología –

+3

@ John - con .Net Remoting, es esta última: se accede estado de un objeto de forma remota, y justo mariscal llamadas de punto final hasta el punto final Si desea enviar el objeto real, lo que desea es más bien algo orientado al servicio, que serializa el estado del objeto y lo envía como un mensaje desde el punto final al punto final. WCF puede hacer ambas cosas, pero es más natural enviar mensajes. La razón de esto es que hemos aprendido, a través de DCOM, que el acceso transparente al estado del objeto a través de los límites es un mal diseño. – codekaizen