Laden...

ByRef Problem mit DataSet

Erstellt von Wax vor 13 Jahren Letzter Beitrag vor 13 Jahren 767 Views
Wax Themenstarter:in
731 Beiträge seit 2006
vor 13 Jahren
ByRef Problem mit DataSet

Hallo zusammen,

ich habe eine Frage zu einem Verhalten, dass ich mir derzeit nicht erklären kann.
Also...

Ich habe eine .NET-Remoting Anwendung. Auf Client Seite hole ich mir ein DataSet vom Server. Dieses schicke ich hin und wieder zum Server zurück und lasse es dort neu befüllen.

Nun musste ich feststellen, dass ich auf dem Server andere Daten habe als auf dem Client. Sprich, wenn ich nach dem Befüllen die Daten des DataSet´s auf dem Server ausgeben lasse und auf dem Client, dann sind diese Daten unterschiedlich. Genau gesagt sehe ich auf dem Client noch die "alten" Daten aus dem DataSet. Obwohl ich auf Serverseite ein DataSet.Clear() aufgerufen hatte.

Also dachte ich mir das es nicht wirklich ByRef übergeben wurde. Deswegen habe ich das Schlüsselwort "ref" explizit angegeben und schwups hatte ich auf beiden Seiten dieselben Daten. So wie ich es wollte.

Nun zu meiner Frage: Warum musste ich "ref" explizit angeben? Das DataSet ist doch ein Referenztyp und müsste standardmäßig ByRef übergeben werden, oder?

MfG
wax

W
955 Beiträge seit 2010
vor 13 Jahren

Hi,

Keyword ref wird nur dann benötigt, wenn eine Methode ein Objekt bekommt, dieses durch ein neues Objekt austauschen können soll und dieses neue Objekt im Caller ebenfalls danach gültig sein soll. Also solltest mal schauen wo so etwas passieren könnte. Höchstwahrscheinlich wird im Client das alte Objekt verworfen und durch ein neues ersetzt.

Wax Themenstarter:in
731 Beiträge seit 2006
vor 13 Jahren

Hi,

auf Clientseite wird nichts verworfen. Es geht mir ja auch in erster Linie um das allg. Verhalten. Also müsste "ref" nicht eigentlich überflüssig sein für einen Referenztypen?

MfG
wax