Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Intraweb Timeout (https://www.delphipraxis.net/193577-intraweb-timeout.html)

Dumpfbacke 16. Aug 2017 18:23

Intraweb Timeout
 
Hallo Delphianer,
ich wollte mal eine Intraweb Anwendung erstellen. Ich habe aber ein Problem mit der Session Timeout. Man kann zwar die Dauer einstellen damit es nicht mitten bei der arbeit abbricht. Nun haben ich aber ein Problem wenn jemand sich die Seite anzeigen lässt und dann den Browser nicht schließt so läuft die Session dann irgendwann mal ab. Wenn dann jemadn anderes die Seite aufruft bekommt er die Info das die Session abgelaufen ist auch wenn es dann erst an nächsten Tag ist.
Das ist mein erstes Intraweb Programm und bräuchte da mal einen schubser in die richtige Richtung. Wie macht Ihr es denn ?

Hie mal die Fehlermeldung


Delphi-Quellcode:

Session is invalid
The specified session does not exist
Session ID: Uz4EACFlJuo9WJiOnb--2W

In order to start a new application session, please click the link below:

Click here to start a new session of MyApp
Wenn man den Link klickt geht es natürlich weiter.

Danke schon einmal an alle welche mir antworten. :thumb:

Tanja

Der schöne Günther 16. Aug 2017 18:36

AW: Intraweb Timeout
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mich nervt das auch, habe allerdings noch nie etwas dagegen unternommen.

Aber tatsächlich bei einem anderen Nutzer? Ich hatte rein zufällig meine geliebte IntraWeb-Seite sogar noch offen. Dann habe ich die Seite mal im Private-Modus des Browser geöffnet - Alles super.

Dann einmal ohne Private-Modus und bekomme das im Anhang. Er erkennt mich wieder und sagt dass die Session abgelaufen ist. Eigentlich richtig so, oder?

mensch72 16. Aug 2017 19:56

AW: Intraweb Timeout
 
es gibt mittlerweile verschiedene Varianten, wie z.B. verschiedene zu konfigurierende "Redirect...(URL)"

OldScool und schon jahre lang sicher im Gebrauch:
- man verwende einen asychronen Clientseitigen Timer... z.B. alle 5sec... das belastet auch langsame Server oder Netzwerkverbindungen nicht wirklich
- alle 5sec schickt also der Client=WebBrowser dann im Hintergrund eine TimerMessage an den Server und löst dort ein Event aus
- in diesem Timerevent kann man nun selbst per Session oder sonstwas für ein Timer / Grund die Session selbst beenden und den Client per passenden TerminateAndRedirekt(StaticURL) zur Anzeige eine Nachricht wie "Session abgelaufen und eines "HomeLinks" ala "Bitte hier klicken um die WebAnwendung neu zu starten" auf dann einen sauberen neunen Sessionstart bekommen
- wichtig ist, das es eine einfache passive statische WebSite ist, welche die Sessionbeendet Meldung anzeigt! (Wäre es ein Intrawebdialog oder ein IW-Formular hätte man ja automatisch schon wider eine (neu) IW-Session:)

Dumpfbacke 17. Aug 2017 07:39

AW: Intraweb Timeout
 
Hallo mensch72,
das hörst sich na nicht schlecht an. Vor allen da es anscheinend ja bei Dir seit einiger Zeit läuft. Könntest du mir hier eventuell etwas Code zur Verfügung stellen wie du es geamcht hast. Leider kann ich deine Aussage hier nicht alleine umsetzten. Wie kann ich eine TimerMessage an den Server senden.

Danke schon einmal.

Das stimmt mich zuversichtig das es doch noch geht. :stupid: :thumb:

Tanja

Der schöne Günther 25. Mai 2018 08:55

AW: Intraweb Timeout
 
So langsam interessiert es mich nun auch :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz