Ich habe eine Client-Anwendung, die alle 10 Sekunden versucht, eine Nachricht über ein WCF-Webdienst zu senden. Diese Client-App wird auf einem Computer an Bord eines Schiffes installiert sein, von dem wir wissen, dass es eine sporadische Internetverbindung haben wird. Ich möchte, dass die App versucht, Daten über den Dienst zu senden, und wenn dies nicht möglich ist, die Nachrichten so lange in Warteschlange zu stellen, bis sie sie über den Dienst senden können.von einem CommunicationObjectFaultedException in WCF Wiederherstellen
Um diese Einstellung zu testen, beginne ich mit der Client-Anwendung und den Web-Service (sowohl auf meinem lokalen Rechner), und alles funktioniert. Ich versuche, die schlechte Internet-Verbindung zu simulieren, indem ich den Web-Service abtöte und neu starte. Sobald ich den Dienst beendet habe, beginne ich CommunicationObjectFaultedExceptions - was erwartet wird. Aber nachdem ich den Dienst neu gestartet habe, erhalte ich weiterhin diese Ausnahmen.
Ich bin mir ziemlich sicher, dass ich etwas über das Web-Service-Paradigma nicht verstehe, aber ich weiß nicht, was das ist. Kann jemand Ratschläge geben, ob diese Einrichtung möglich ist oder nicht, und wenn ja, wie dieses Problem zu lösen ist (d. H. Den Kommunikationskanal mit dem Web-Service wiederherstellen)?
Dank!
Klay
10, wenn ich könnte - wow, dieses Verhalten völlig unter dem Radar ist, nie, was hätte geklappt vorging wenn ich nicht auf diese Antwort gestoßen wäre. –
Bravo! Ich habe eine Version davon als eine Erweiterungsmethode implementiert: TryDispose für die Proxy-Klasse für die Verwendung durch andere. –
@ Moby's Stunt Double - kannst du deinen Code teilen? – RichardHowells