Marshallen als Wert

Objekte sind in nur der Anwendungsdomäne gültig, in der sie erstellt werden. Jeder Versuch, das Objekt als Parameter zu übergeben oder es als Ergebnis zurückzugeben, schlägt fehl, sofern das Objekt nicht von MarshalByRefObject abgeleitet wurde oder mit dem Attribut Serializable markiert ist. Wenn das Objekt als Serializable markiert ist, wird das Objekt automatisch serialisiert, von einer Anwendungsdomäne in die andere transportiert und dann deserialisiert, um in der zweiten Anwendungsdomäne eine genaue Kopie des Objekts zu erstellen. Dieser Vorgang wird in der Regel "Mashallen als Wert" genannt.

Wenn ein Objekt von MarshalByRefObject abgeleitet ist, wird statt des Objekts ein Objektverweis von einer Anwendungsdomäne einer anderen Anwendungsdomäne übergeben. Sie können auch ein von MarshalByRefObject abgeleitetes Objekt als Serializable markieren. Wenn dieses Objekt in Verbindung mit Remoting verwendet wird, übernimmt das für die Serialisierung zuständige Formatierungsprogramm, das mit einem Ersatzselektor (SurrogateSelector) vorkonfiguriert wurde, die Steuerung des Serialisierungsvorgangs und ersetzt alle von MarshalByRefObject abgeleiteten Objekte durch einen Proxy. Wenn kein SurrogateSelector gegeben ist, hält sich die Serialisierungsarchitektur an die Standardregeln für die Serialisierung, die unter Schritte im Serialisierungsprozess beschrieben sind.

Siehe auch

Weitere Ressourcen

Serialisierungskonzepte
Remote Objects
XML- und SOAP-Serialisierung

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.