Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.286 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX App und TDSRestConnection, was tun, wenn Session abgelaufen ist

  Alt 19. Jul 2023, 11:05
Erstmal: Wir abeiten eigentlich nicht mit Sessions. (vielleicht hatten wir dafür damals was nicht aktiviert, oder so ... seit der ersten Version des DataSnap)
Jeder Aufruf ist unabhängig. (quasi RESTful)


Hab schon öfters den Server neu gestartet und noch nie diese Meldung gesehn (XE und 11)

Gut, allerdings könnte es sein, dass dieser Fall hier indirekt abgefangen wird.
Wobei ich diesen Fehler auch noch nie innerhalb des Debuggers bemerkt hatte.

Schon wegen der Datenbank-Verbindung gab es schon immer einen Timer, der alle x Zeit prüft, ob die Verbindung noch steht und wenn nicht ein Reconnect versucht durchzuführen.
SELECT true bzw. inzwischen SELECT current_timestamp an die Datenbank und eine einfache Test-Funktion im DataSnap (ReverseString, welche den DemoCode überlebt hatte).

Im Prinzip gibt es "normal" regelmäßig eine Kommunikation und daher ....


An einer Stelle, wo das Programm (eine Form) wochenlang durch läuft und auch mal tagelang nicht benutzt wird, aber dann sofort gehen soll, wenn ...
Dort gibt es zu Beginn (hier das Scannen eines RFID-Tags oder die maneuelle Eingabe) manuell so einen "Test" und wenn es knallt ein reconnect.
Hier zwar nur für die DB, aber für DataSnap wäre es ja ehnlich möglich
Delphi-Quellcode:
try
  DataSnap.Testfunktion;
except
  DataSnap.Dissconnect; // try DataSnap.Dissconnect; except end;
  DataSnap.Connect;
end;

... und danach dann der eigentliche Code
Ansonsten kannst'e es auch einfach direkt
Delphi-Quellcode:
try
  DataSnap.MyFunction;
except
  // nochmal, falls nicht ging
  // hier aber vielleich den Exception-Type/Message prüfen, ob es nicht ein anderer Fehler war .... nicht dass z.B. was doppelt ausgeführt wird
  DataSnap.Dissconnect; // try DataSnap.Dissconnect; except end;
  DataSnap.Connect;
  DataSnap.MyFunction
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Jul 2023 um 11:11 Uhr)
  Mit Zitat antworten Zitat