Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere-Webdienste » HTTP-Sitzungen verwenden

 

HTTP-Sitzung erstellen

Eine Sitzung wird in einer Webanwendung unter Verwendung der HTTP-Option SessionID erstellt, indem die Systemprozedur sa_set_http_option aufgerufen wird. Eine Sitzungs-ID kann eine beliebige Zeichenfolge außer NULL sein. Intern wird anhand der Sitzungs-ID und dem Datenbanknamen ein Sitzungsschlüssel generiert, der für die Datenbank eindeutig ist, auch wenn mehrere Datenbanken geladen sind. Der gesamte Sitzungsschlüssel ist auf eine Länge von 128 Zeichen beschränkt. Im folgenden Beispiel wird eine eindeutige Sitzungs-ID generiert und an sa_set_http_option übergeben.

DECLARE session_id VARCHAR(64);
DECLARE tm TIMESTAMP;
SET tm=now(*);
SET session_id = 'session_' || 
    CONVERT( VARCHAR, SECONDS(tm)*1000+DATEPART(millisecond,tm));
CALL sa_set_http_option('SessionID', session_id);

Eine Webanwendung kann die Sitzungs-ID über die Verbindungseigenschaft SessionID erhalten. Wenn keine Sitzungs-ID für die Verbindung definiert wurde, ist diese Eigenschaft eine leere Zeichenfolge (d.h. die Verbindung ist sitzungslos).

DECLARE session_id VARCHAR(64);
SELECT CONNECTION_PROPERTY( 'SessionID' ) INTO session_id;

Wenn die Sitzung mit der Prozedur sa_set_http_option erstellt wurde, kann ein localhost-Client auf die Sitzung mit der betreffenden Sitzungs-ID zugreifen (z.B. session_63315422814117), die in der Datenbank dbname, die den Dienst session_service mit dem folgenden URL ausführt, enthalten ist.

http://localhost/dbname/session_service?sessionid=session_63315422814117

Wenn nur eine Datenbank verbunden ist, muss der Datenbankname nicht angegeben werden.

http://localhost/session_service?sessionid=session_63315422814117