Los objetos con serializables MarshalByRefObject campos
-
16-09-2019 - |
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:)
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.