Laden...

[WCF] CommunicationException

Erstellt von pkoeppe vor 16 Jahren Letzter Beitrag vor 14 Jahren 8.868 Views
P
pkoeppe Themenstarter:in
319 Beiträge seit 2006
vor 16 Jahren
[WCF] CommunicationException

Hallo zusammen,

habe einen kuriosen Fehler, habe einen WCF der eine OneWay-Methode besitzt und über diese Daten, ein Dictionary eines komplexen Datentyps, an Clients versendet. An und für sich funktioniert es. Wenn in dem Dictionary aber viele Elemente drin sind, dann bekomme ich eine CommunicationException => Die Socketverbindung wurde abgebrochen. Dies kann durch einen Fehler beim Verarbeiten der Nachricht, durch ein Überschreiten des Empfangstimeouts durch den Remotehost oder durch eine Problem bei der zugrundeliegenden Netzwerkressource verursacht sein. Lokaler Sockettimeout: "00:01:00". Hat wwer von Euch eine Idee was das Problem ist? Danke für Eure Hilfe.

Gruß
pkoeppe

Wer nicht fragt, bleibt dumm.

100 Beiträge seit 2006
vor 16 Jahren

Naja, für richtig kurios halte ich den Fehler nicht.

Schließlich wird bei **OneWay **-Kommunikation nur in eine Richtung kommuniziert, da sollte die Verbindung nicht ewig offen gehalten werden.
Hier wird näher darauf eingegangen.

Darum würde wohl auch eine Erhöhung der Timeout-Zeit nicht helfen, vielleicht braucht die Operation auf einem alten Rechner 8x so lange 🙂

Wie wäre es, wenn dein Programm eine Timeout-Exception richtiggehend erwartet und dies dann halt nur zu einer Neuinstanzierung des Proxys führt.

Laut MSDN soll bei jedem WCF-Aufruf gewisse Exceptions immer erwartet werden, siehe hier

E
95 Beiträge seit 2006
vor 16 Jahren

Hallo,

ich habe nun genau das gleiche Problem. Der erste Link von wdb.lizardking ist ein bissel unverständlich. Check ich nicht 🤔 Der zweite ist down.

Generell sollte es doch möglich sein das Timeout heraufzusetzen. Ich möchte über WCF schon etwas größere Datenmengen übertragen, am liebsten alle Daten in einem Rutsch. Dafür brauche ich mehr als 1 Sekunde.

Das Timeout manuell zu erhöhen

binding.ReceiveTimeout = TimeSpan.FromSeconds(10);

hat leider nicht geklappt.

Kann das jemand näher erläutern?

Gruß Thorsten

L
553 Beiträge seit 2007
vor 15 Jahren

Ich habe auch das selbe Problem und finde keine Lösung...

Gelöschter Account
vor 14 Jahren

Da ich das Problem auch hatte, werde ich mal schnell die Lösung dazu posten.

Der Fehler ist eine falsche Exception. Diese Wird ausgelöst bei zu komplexen Objecten. Lest dazu: http://blogs.msdn.com/sowmy/archive/2006/03/26/561188.aspx

276 Beiträge seit 2007
vor 14 Jahren

Ich muss das alte Thema nochmal rausholen, entstauben und ansprechen...

Ich lade mit einem Client (WinForms) Informationen über einen WCF-Service und wollte gerade teten, ob noch alles geht und bekomme jetzt genau die in dem Thread oben beschriebene Fehlermeldung...!
Komischerweise habe ich diesen Teil meines Projektes gar nciht angefasst und bin daher recht verwundert, da es bisher immer geklappt hat...!

Kennt jemand das Problem und hat eventuell erstmal eine Erklärung, wieso das auf einmal auftreten kann???

Gruß

nitro

EDIT:

Okay, hab es gelöst...! Ich reiche Objekte durch, die u.a. eine Versionsnummer besitzen. Diese ist 4 stellig und durch Punkte getrennt. Aus der letzten Ziffer schliesse ich einen Buchstaben. WIrd eine Ziffer angegeben, der kein Buchstabe zugeordnet werden kann, gibt es diese Exception.

Gruß

nitro