Pergunta

Tudo bem, eu não tenho certeza se esta pergunta tem sido feita antes, então se ele tem, em seguida, a chama de distância.Vamos dizer que temos duas classes como este

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


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

Como você pode ver ClassA mantém uma referência para ClassB mas a classe B herda da classe MarshalByRefObject.A minha pergunta é quando eu tentar passar ClassA para outro Domínio de aplicação como posso obter ClassA para serializar a maneira como ele normalmente faria, exceto passar _data de campo para o novo Domínio de aplicação como um proxy transparente?

Qualquer ajuda é bem-vinda :)

Foi útil?

Solução

Tem ClassA derivar de MarshalByRefObject, pois é o objeto que você deseja remoto para o outro Domínio de aplicação.

E você pode implementar ISerializable http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx

Tipos deve herdar de MarshalByRefObject quando o tipo é usado através de aplicação de limites de domínio, e o estado do objeto não deve ser copiado, pois os membros do objeto não são utilizáveis fora do domínio de aplicação, onde eles foram criados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top