Laden...

WebService - Große Anzahl an Objekten zurückgeben -> WebException

Erstellt von frisch vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.753 Views
frisch Themenstarter:in
2.082 Beiträge seit 2005
vor 13 Jahren
WebService - Große Anzahl an Objekten zurückgeben -> WebException

Hallo,

ich habe einen WebService erstellt. Dieser funktioniert soweit einwandfrei. Heute ist eine neue Methode hinzugekommen. Diese liest Objekte aus unserer Datenbank aus und gibt diese an eine Clientanwendung zurück. Das Zurückgegebene Objekt besteht aus 4 Listen, wobei Liste 1 eher eine Liste von einer komplexen Klasse ist. Liste 2-3 enthalten jeweils eine Klasse, die nur 2 int und 1 bool Property enthalten.

Jedoch kann die 4. Liste bis zu 50.000 Einträge besitzen. Ist dies der Fall, erhalte ich vom Client eine WebException:_ "Die zugrunde liegende Verbindung wurde geschlossen: Die Verbindung wurde unerwartet getrennt.."_

Habe im WebService in der Web.config die Werte meines HttpBindings raufgesetzt aber komme dennoch zu keinem Erfolg.

Muss ich etwa im Client selbst noch etwas einstellen, damit dieser so große Datenpakete vom WebService erhalten kann?

Der Fehler taucht übrigens während des Debuggens auf (Service und Client im Debug). Live will ich das so nicht testen.

Danke.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

Jedoch kann die 4. Liste bis zu 50.000 Einträge besitzen. Ist dies der Fall, erhalte ich vom Client eine WebException

  1. Tritt der Fehler also nicht auf, wenn es deutlich weniger Objekte sind?
  2. Kannst Du mal die komplette Webexception posten, mit allem drum und dran? (kritische Teile kannst ja unkenntlich machen)

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

frisch Themenstarter:in
2.082 Beiträge seit 2005
vor 13 Jahren

Hallo MarsStein,

  1. richtig, wenn ich z.B. nur 10 Objekte in die Collections einfüge tritt der Fehler nicht auf.
  2. die Exception sagt leider sehr wenig aus aber ich poste sie trotzdem mal:
System.Net.WebException wurde nicht von Benutzercode behandelt.
  Message="Die zugrunde liegende Verbindung wurde geschlossen: Die Verbindung wurde unerwartet getrennt.."
  Source="K3.Import"
  StackTrace:
       bei XXX_DoWork(Object sender, DoWorkEventArgs e) in XXX.cs:Zeile 174.
       bei System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
       bei System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
  InnerException: 

Der Webservice selbst liefert keine Fehlermeldung beim debugging...

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

2.298 Beiträge seit 2010
vor 13 Jahren

Ich nehme an die Objekte werden aus einer Datenbank gelesen, wäre es nicht möglich dass die Anfrage einfach viel zu lang dauert und ein Timeout greift?

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

frisch Themenstarter:in
2.082 Beiträge seit 2005
vor 13 Jahren

Hallo,

Ich nehme an die Objekte werden aus einer Datenbank gelesen, wäre es nicht möglich dass die Anfrage einfach viel zu lang dauert und ein Timeout greift? Nein, das würde mir ja während des Debuggens auffallen 😃

Also habe das ganze aber mal Testweise in einen Stream serialisiert und mir dann das Xml als String zurückgegeben. Der String ist 7.370.043 Zeichen lang... Da bleibt mir wohl nur die Möglichkeit, das ganze irgendwie als Dateidownload bereit zu stellen und dann irgendwie in den Client zu deserialisieren.

//Nachtrag: Habe jetzt mal nen Stresstest gemacht und bin zu folgendem Ergebnis gekommen

Länge ok zum senden: 2885333
Länge nicht ok zum senden: 2888833

Ich schau mir nochmal meine Konfigurationsdateien an...

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de