Laden...

WCF callback methode - Problem mit Dispose auf parameter objekten

Erstellt von emral86 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.290 Views
E
emral86 Themenstarter:in
59 Beiträge seit 2009
vor 12 Jahren
WCF callback methode - Problem mit Dispose auf parameter objekten

Hallo zusammen,

wie in der Überschrift beschrieben, habe ich das Problem, dass beim aufruf einer WCF Methode bzw. eine callback Methode siehe:



Object myObject = null;

public void Test(Object testObject)
{
     myObject = data;      
}

immer die Dispose methode auf dem objekt aufgerufen wird.

Ich habe jetzt gelesen, dass das per Design so ist !?
Kann man da evtl. doch irgendetwas umstellen?

Danke und gruß,
emral

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo emral86,

ich sehe im Beispiel gar nix was zur Beschreibung passt.

Dispose wird von WCF automatisch für die Service-Klasse aufgerufen wenn diese IDisposable implementiert.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

E
emral86 Themenstarter:in
59 Beiträge seit 2009
vor 12 Jahren

Hi gfoidl,

also in dem Beispiel ist "Test" meine wcf callback methode, diese wird vom Server aus aufgerufen. Das Objekt, welches mit übergeben wird, implementiert das IDisposable interface. Beim return der Test Methode wird die Dispose Methode meines übergebenen Objektes data aufgerufen, was eigentlich hätte nicht passieren dürfen da ich ja dieses zwischengespeichert habe...

Ich hoffe, es ist jetzt verständlicher...

Gruß emral

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo emral86,

dass es beim Callback-Objekt auch aufgerufen wird wenn IDisposable vorhanden ist wusste ich nicht. Aber das stimmt.

Wenn es nicht aufgerufen werden soll dann kannst du das zB in ein Wrapper-Objekt packen. Aber auch das ist suboptimal. Ev. hilft dir OperationBehaviorAttribute.AutoDisposeParameters weiter.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

E
emral86 Themenstarter:in
59 Beiträge seit 2009
vor 12 Jahren

Hallo gfoidl,

Danke schön - Problem gelöst. => Operationbehaviorattribute.Autodisposeparameters