Pregunta

En .NET Remoting, el método Activator.GetObject tiene un parámetro state . ¿Cuál es el propósito de este parámetro state ? ¿Puedo recuperar su valor del lado del servidor?

mdsn no ayudó mucho.

Lo que me gustaría hacer:
Lado del cliente:
ChannelServices.RegisterChannel (nuevo TcpChannel (0));
object obj = Activator.GetObject (typeof (MyObj), " tcp: // serverName: 1234 / RemoteObj " ;, " myCustomData ");

Lado del servidor:
Obtenga acceso a " myCustomData " cadena.

¿Fue útil?

Solución

No estoy completamente seguro de cuál es el propósito de este campo de estado, pero parece ser un valor específico del canal que no es útil para su código. Al rastrear a través de Activator.GetObject en Reflector, notará que finalmente se pasa a IChannelSender.CreateMessageSink . El uso de estos datos es específico de la implementación.

Una búsqueda rápida reveló un solo implementador si IChannelSender : CrossAppDomainChannel . En esta implementación particular, el parámetro de estado solo se usa si es de un tipo particular: CrossAppDomainData . Esta es una clase interna que no es accesible para su programa y, por lo tanto, no sirve de nada.

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