Domanda

Va bene, io non sono sicuro se questo problema è stato fatto prima in modo se ha poi fiamma via. Diciamo che abbiamo due classi come questo

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


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

Come si può vedere ClasseA contiene un riferimento a ClassB ma di classe B eredita dalla classe MarshalByRefObject. La mia domanda è quando si tenta di passare ad un altro dominio di applicazione ClasseA come posso ottenere ClassA serializzare il modo in cui normalmente sarebbe tranne passare il campo _data al nuovo dominio applicazione come un proxy trasparente?

Ogni aiuto è apprezzato:)

È stato utile?

Soluzione

Hanno ClasseA derivano da MarshalByRefObject dal momento che è l'oggetto che si desidera remota all'altra dominio di applicazione.

E si può implementare ISerializable http: // msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx

Tipi devono ereditare da MarshalByRefObject quando il tipo viene utilizzato attraverso i confini del dominio di applicazione, e lo stato dell'oggetto non può essere copiato, perché i membri dell'oggetto non sono utilizzabili al di fuori del dominio di applicazione in cui sono stati creati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top