Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Beim ersten Zuweisen eines .NET-basierten Objekts an eine Nachricht oder einen Nachrichtenteil hält und verwaltet die Nachricht einen Verweis auf das Objekt.
Für Effizienz und Skalierbarkeit führt das Orchestrierungsmodul keine "tiefe Kopie" des Objekts durch: d. h., es kopiert nicht den gesamten Inhalt des Objekts in die Nachricht.
Wenn Sie das Objekt anschließend einem anderen Nachrichten- oder Nachrichtenteil zuweisen, führen Änderungen am ursprünglichen Objekt zu Änderungen an der zweiten Nachricht oder dem zweiten Nachrichtenteil. Sie sollten diese Übung vermeiden, da Die Ergebnisse unvorhersehbar sind.
Wenn Ihre zweite Nachricht eine separate Kopie des Objekts haben soll, sollten Sie der zweiten Nachricht oder dem zweiten Nachrichtenteil die erste Nachricht oder den ersten Nachrichtenteil zuweisen.
Betrachten Sie das folgenden Beispiel:
Irrweg:
myMsg1 = myObj; // assign the first message
myMsg2 = myObj; // assign the second message (wrong!)
myMsg2.myInt = 100; // modify the second
myMsg1.myInt = 5;
In diesem Fall wurde myMsg2.myInt überschrieben und hat jetzt den Wert 5.
Richtiger Weg:
myMsg1 = myObj; // assign the first message
myMsg2 = myMsg1; // assign the second message (right!)
myMsg2.myInt = 100; // modify the second
myMsg1.myInt = 5;
In diesem Fall weist myMsg2.myInt weiterhin den Wert 100 auf, wie erwartet.