Thema: Delphi Dateiversand via SOAP

Einzelnen Beitrag anzeigen

hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#1

Dateiversand via SOAP

  Alt 22. Jan 2009, 16:22
Hallo Gemeinschaft!

Ich habe eine SOAP-Server-Anwendung geschrieben sowie 2 clients dazu, mit Hilfe derer ich Dateien als dynamisches Byte Array hin und her schicken kann.
Das hat nun schon einige Wochen fehlerfrei funktioniert, allerdings wurden nur kleine Dateien versendet. Jetzt habe ich es mal mit einer 117MB großen Datei probiert und siehe da: Ich krieg clientseitig den Fehler, dass ich zu wenig Arbeitsspeicher habe. Gut, der Rechner hier hat nur 1GB, das ist nicht viel, aber .. ich sehe auch nicht sofort, wieso es nicht reichen sollte...
Ich habe mir direkt vor der Übergabe des dyn. Byte-Arrays an die entsprechende Funktion des Servers den zur Verfügung stehenden Arbeitsspeicher ausgeben lassen: es waren 500MB.
Und sobald ich weitergeh, schnippst die Auslastung nach oben und der Client kackt ab.
Habe es dann mal an einem anderen Rechner getestet, dort waren über 850MB freier Arbeitsspeicher vorhanden, aber die waren auch nicht ausreichend.
Hier mal der Code-Ausschnitt:
Delphi-Quellcode:
cl_s_var:=GetIWebService(true); // InstanzVar der Klasse, die die vom Server über die WSDL-Datei
                                         // zur Verfügung gestellten Funktionen und Prozeduren enthält
screen.Cursor := crHourGlass;
try
  showmessage(memstat); // hier sagt er mir, es stehen 500MB Arbeitsspeicher zur Verfügung
  ref_id:=cl_s_var.filereceiver(bda64); // Auslastung schnippst nach oben, paar Sekunden später kommt der Fehler
finally
  screen.Cursor := crDefault;
end;
Ist im Endeffekt nichts sagend, der Code, oder?
Trotzdem die Frage:
Woran kann das liegen?
Vielen Dank schonmal für Eure Mithilfe!!
MfG
hyype
  Mit Zitat antworten Zitat