WCF, Silverlight: Ist Request / Reply möglich über PollingDuplexHttpBinding?
-
23-09-2019 - |
Frage
Wir haben seit einiger Zeit mit PollingDuplexHttpBinding
Pub/Sub
Messaging zu tun. Wir haben Methoden, die Ergebnisse nicht zurückgeben, die Kunden erlauben zu abonnieren, um einige Daten füttern dann dann die Service-Schübe Daten wieder über CallBack
Verträge.
Gerade jetzt haben wir das Hinzufügen einiger Request/Reply
Methoden zu unserem OperationContract
. Da die Kunden Silverlight 3 sind diese Methoden werden mit dem async Begin() End()
Muster genannt. Das Problem ist, wir können das nicht mit PollingDuplexHttpBinding
zu arbeiten. Wir bekommen immer die folgende Fehlermeldung (wenn Client-Stack HTTP verwendet wird):
Der Server hat keine aussagekräftige Antwort liefern; dies könnte durch einen Vertrag Mismatch, eine vorzeitige Sitzung Herunterfahren oder einen internen Server-Fehler verursacht werden.
Mit Browser-Stack wir HTTP 500: Not Found.
Beim Umschalten der BasicHttpBinding
Methoden Request/Reply
sind völlig in Ordnung genannt, aber offensichtlich Pub/Sub
Methoden können nicht mit dieser Bindung.
Wir könnten verwenden zwei getrennte Endpunkte für jede Art von Messaging, aber lieber nicht, und es scheint seltsam für mich, dass eine Bindung nur die Pub/Sub
Muster unterstützen würde (auch wenn dies die Motivation für PollingDuplexHttpBinding
ist).
Könnte jemand klar, dass dies für mich? Ist es möglich?
Lösung
Wir haben nie an die Arbeit. Wir verwenden Basichttpbinding für alle unsere Anfrage / Antwort-Operationen zwischen unseren Silverlight 4-Anwendungen und unsere WCF 4-Dienste. Diese sind alle Asynchron-Methodenaufrufe (haben mit Silverlight sein) zu Per-Call-Dienste. Für das paar Situationen, in denen wir Server-Push tun müssen, haben wir einen sitzungs WCF-Dienst eine PollingDuplexHttpBinding Verbindung mit dem Silverlight-Client zu erhalten und wir verwenden Rückruf Verträge mit One-Way-Methoden zu telefonieren.
kann nie Anfrage erhalten / Antwort-Operationen an der Arbeit mit PollingDuplexHttpBinding, aber nie eine Autorität über die Angelegenheit entweder ...
gefunden