Zum Hauptinhalt springen

SvcSessionControl

SvcSessionControl(int1[, int2]) : int

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Verwaltung der Sitzungsinformationen

Details

  • int1:
    • Befehlsmodus:
    • _SvcSessionCreate
    • _SvcSessionLoad
    • _SvcSessionDelete
  • int2: Session-Id (optional)
  • Resultat: int Session-ID oder Fehlerwert
  • Siehe: Verwandte Befehle

Die Anweisung kann nur innerhalb einer Ereignisfunktion des SOA-Service ausgeführt werden.

Mit dieser Funktion werden die Sessions innerhalb der Verarbeitung des SOA-Services verwaltet. In (int1) wird der Befehlsmodus übergeben. Folgende Modi stehen zur Verfügung:

_SvcSessionCreate - Sitzung erzeugen

Mit der Anweisung SvcSessionControl( _SvcSessionCreate ) wird eine neue Session angelegt und der laufenden Prozedur zugeordnet. Der Rückgabewert ist die Session-ID (Wert größer 0) oder der Fehlerwert (Wert kleiner 0). Nach dem Ende der laufenden Prozedur werden die vorhandenen globalen Datenbereiche und Deskriptoren unter dieser Session-Id automatisch gespeichert.

Deskriptoren von Datensatzpuffern , Oberflächen- und Druckobjekten werden dabei nicht gesichert, sondern gelöscht.

Die Session-Id kann beispielsweise im HTTP-Protokoll als Cookie übertragen werden. Im Task -Objekt ist die Session-ID als Eigenschaft SvcSessionID verfügbar.

Folgende Fehlerresultate sind möglich:

_SvcSessionLoad - Sitzung lesen

Mit der Anweisung SvcSessionControl( _SessionLoad , <SessionID>) werden die gesicherten Deskriptoren und Datenbereiche einer Session in die Prozedurumgebung übertragen. Die Session-Id muss im Argument (int2) übergeben werden. Die Session wird dabei der laufenden Prozedur zugeordnet, wodurch nach dem Ende der Prozedur die Daten auch wieder unter dieser Session-Id gesichert werden.

Folgende Fehlerresultate sind möglich:

_SvcSessionDelete - Sitzung löschen

Die Anweisung SvcSessionControl( _SvcSessionDelete ) löscht die Session-Id und die Zuordnung der Session zur laufenden Prozedur. Die Session-Id ist danach nicht mehr vorhanden. Nach dem Befehl kann aber eine neue Session mit _SvcSessionCreate oder eine vorhandene mit _SvcSessionload zugeordnet werden.

Folgende Fehlerresultate sind möglich: