Laden...

WCF - Callbacks und Streams

Erstellt von elur vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.295 Views
E
elur Themenstarter:in
9 Beiträge seit 2009
vor 14 Jahren
WCF - Callbacks und Streams

hallo wissende,

ich beschäftige mich seit kurzen mit WCF und hab da mal ne grundsätztliche frage ... kann es sein das streaming und callbacks zusammen nicht möglich sind??

ich hab mir mal eine anwendung gebastelt wo client und server daten austauschen und halt irgendwas machen. funktioniert soweit sehr gut, auch die callbacks vom server auf den entsprechenden client.
nun wollte ich dateien vom server auf den client runterladen. dazu benutze ich stream, so in der art:


[OperationContract]
public System.IO.Stream getFile(MyObject object)

soweit ich weiß muss man dann TransferMode auf Streamed ändern. wenn ich das tue kann ich den server nicht mehr starten denn dann bekomme ich eine exception:

InvalidOperationException
Der Vertrag erfordert "Duplex", die Bindung NetTcpBinding unterstützt dies jedoch nicht, oder die Unterstützung wurde nicht ordnungsgemäß konfiguriert.

Auch wenn ich den TransferMode in StreamedRequest oder StreamedRespond ändere bringt das nichts.

Wie muss ich denn die Bindung konfigurieren das, daß funktioniert bzw. geht den Callback und Streaming überhaupt?? Kennt jemand ein HowTo zu dem Thema??

bin für jeden Tipp
dankbar
grüße elur

1.274 Beiträge seit 2005
vor 14 Jahren

Lass ihn nur benachrichtigten das neue Daten da sind.

Der Client fragt die Daten über einen Stream ab. Der Vorteil das du dann als Client noch entscheiden kannst ob du die Daten überhaupt möchtest.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

E
elur Themenstarter:in
9 Beiträge seit 2009
vor 14 Jahren

Lass ihn nur benachrichtigten das neue Daten da sind. das läuft dann über einen callback, oder was meinst du?

... und das ist ja meine problem (denke ich) wenn ich in der app.config das streaming aktiviere dann kann ich im contract den callback-contract nicht mehr angeben ohne das er mir die obige exception wirft ... streaming ohne callback funktioniert, umgekehrt genauso.

stell ich vieleicht irgendetwas in der app.config falsch ein??

danke
elur

1.274 Beiträge seit 2005
vor 14 Jahren

Der Callback sagt nur, es gibt einen neuen Stream zum Abrufen, z.B. eine GUID. Du machst dann über den normalen sagt getStreamFromGuid(GUID streamID) und fragst die Daten ab.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein