Pregunta

Está bien, no estoy seguro de si esta pregunta se ha hecho antes, así que si se ha llamas alejadas. Digamos que tenemos dos clases de este tipo

[Serializable]
public class ClassA
{
    private string _name;
    private ClassB _data;
}


public class ClassB : MarshalByRefObject
{
    public string GetAppDomainName()
    {
      return AppDomain.Current.FriendlyName;
    }  
}

Como se puede ver claseA contiene una referencia a ClassB pero la clase B hereda de la clase MarshalByRefObject. Mi pregunta es cuando intento de pasar a otro dominio de aplicación claseA cómo puedo obtener claseA para serializar la forma en que normalmente excepto pasar el campo _data al nuevo dominio de aplicación como un proxy transparente?

Cualquier ayuda se agradece:)

¿Fue útil?

Solución

Tienes claseA derivan de MarshalByRefObject ya que es el objeto que desea remota a otro dominio de aplicación.

Y se puede aplicar ISerializable http: // msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx

Tipos deben heredar de MarshalByRefObject cuando se utiliza el tipo a través de los límites del dominio de aplicación, y el estado del objeto no debe ser copiada debido a que los miembros del objeto no se pueden utilizar fuera del dominio de aplicación en el que fueron creados.

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