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 |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |