Pregunta

Hay algo que simplemente no entiendo sobre la comunicación remota .NET. Bueno, dos cosas en realidad:

  1. ¿Por qué el énfasis está en las clases que heredan de MarshalByRef en lugar de las interfaces al estilo COM original (que me gustó)?

  2. ¿Por qué la comunicación remota .NET siempre te obliga a crear efectivamente algún tipo de grupo de objetos en lugar de permitirte asociar instancias específicas con una URL?

Código del servidor:

RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemotingTypes.Server), "MyURL", WellKnownObjectMode.Singleton);

Código del cliente:

RemotingTypes.Server myInstance = new RemotingTypes.Server();

Pero supongamos que quiero crear el " Servidor " instanciarme y luego vincularlo a un punto final?

<*>

¿Y ahora qué? ¿Cómo puedo asociar " myInstance " con la URL " MyURL " ?

¿Fue útil?

Solución

El problema con la respuesta de Nickd: quería saber cómo asociar una instancia ya creada con una URL, en lugar de cómo obtener .NET remoting para hacer esto por mí (alguna instancia que he creado que no tiene un valor predeterminado constructor, por ejemplo).

Esperaba que hubiera alguna respuesta épica que explicara la "filosofía" detrás de .NET remoting, y por qué está acoplado de manera inextricable al sistema de tipos ...

Lo que he concluido es simplemente que: a) Es porque .NET remoting apesta. No lo uses b) Utilice WCF en su lugar

Otros consejos

Realmente no puedo abordar los puntos 1 y 2 ya que no tengo experiencia con COM y no entiendo 2, pero para responder a tu pregunta final específica, si usas el sistema. Clase de activador, puedes hacer esto:

RemotingTypes.Server  myInstance = (RemotingTypes.Server) Activator.GetObject(typeof(RemotingTypes.Server), MyUrl);

Significa que debe vincularlo en el momento de la construcción, pero todo es del lado del cliente.

Vea mi pregunta similar .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top