Sitzungsparameter
Eine Sitzung ist die Verbindung, die der Benutzer mit dem Server herstellt, wenn er ein Mashup in einer Visualisierung anzeigt. Sie können Sitzungsparameter erzeugen, um temporäre Daten aus der aktuellen Benutzersitzung zu speichern. Sie können beispielsweise einen Sitzungsparameter verwenden, um eine Einstellung für das bevorzugte Stilthema für ein Mashup zu speichern. Die Werte der Sitzungsparameter sind für jeden mit dem Server verbundenen Benutzer eindeutig und werden bis zum Ende der Sitzung gespeichert. Die Sitzungsparameterdaten werden auch beibehalten, wenn ein Benutzer zwischen verschiedenen Mashups navigiert.
Eine Sitzung endet, wenn ein Benutzer die Anwendung schließt, sich mit der Abmeldefunktion abmeldet oder nach Inaktivität auf dem Server ein Timeout erfolgt. Der Standard-Timeout-Zeitraum für eine Plattformsitzung beträgt 30 Minuten. Sie können das Standard-Timeout mit dem
SetPlatformSessionTimeout Administratordienst konfigurieren. Weitere Informationen finden Sie unter
Administratordienste.
Optimale Vorgehensweisen
• Verwenden Sie eine Datenbank oder ein Ding, um Daten zu speichern, die für mehr als eine einzelne Sitzung erforderlich sind.
• Verwenden Sie Mashup-Parameter, um Daten zwischen Mashups zu übergeben (wenn möglich). Zu viele Sitzungsparameter können sich nachteilig auf die Leistung auswirken. Weitere Informationen finden Sie unter
Mashup-Parameter konfigurieren.
Geänderte Ereignisse für Sitzungsparameterwerte verwenden
Sie können Sitzungsparameter innerhalb von UserManagementSubsystem hinzufügen und dann den Fensterbereich Sitzung in Mashup Builder verwenden, um Bindungen zu Widgets, Diensten oder Funktionen in einem Mashup zu erstellen. Wenn Sie den Fensterbereich auswählen, werden die verfügbaren Sitzungsparameter aufgelistet.
Im Fensterbereich Dateneigenschaften wird für jeden Parameter <Parameter_Name>Changed angezeigt. Diese Ereignisse werden nur ausgelöst, wenn sich der Wert eines Sitzungsparameters auf der Client-Seite ändert. Das Ändern des Werts eines Parameters unter Verwendung des Dienstes SetGlobalSessionValues auf dem Server löst dieses Ereignis nicht aus. Verwenden Sie zum Auslösen eines Ereignisses bei Änderung des Wertes auf dem Server das Ereignis ServiceInvokeComplete des Dienstes, der stattdessen zum Aktualisieren des Parameters verwendet wird.
Sitzungsparameter hinzufügen
Sie können eine Dingform-Entität mit einer oder mehreren Eigenschaften als Sitzungsparameter verwenden. So fügen Sie der UserManagementSubsystem Entität einen Data Shape hinzu:
1. Klicken Sie in Composer auf Durchsuchen.
2. Wählen Sie unter System die Option Untersysteme aus, und öffnen Sie dann die UserManagementSubsystem Entität.
3. Fügen Sie dem Untersystem mit einer der folgenden Methoden eine Dingform hinzu:
◦ Führen Sie auf der Registerkarte Dienste den AddSessionShape Dienst aus:
a. Suchen Sie den Dienst, und klicken Sie unter der Spalte
Ausführen auf
. Das Dialogfenster
Dienst ausführen wird geöffnet.
b. Wählen Sie im Feld Name die Dingform aus, die die Sitzungsparameter enthält, und klicken Sie dann auf Ausführen.
c. Klicken Sie auf Fertig, um das Dialogfenster zu schließen.
d. Klicken Sie auf Speichern, um die Änderungen am Untersystem zu speichern.
◦ Klicken Sie auf der Registerkarte Konfiguration unter Dingform-Einstellungen für die Benutzersitzung auf Hinzufügen. Ein Dialogfenster wird geöffnet.
a. Geben Sie einen Dingform-Namen ein, und klicken Sie auf Hinzufügen.
b. Klicken Sie auf Speichern, um die Änderungen am Untersystem zu speichern.
Die Dingform wird dem Untersystem hinzugefügt. Die Eigenschaften des Data Shape werden als bindbare Sitzungsparameter aufgelistet, wenn Sie den Fensterbereich Sitzung öffnen.
| Die Verwendung einer Infotable mit mehreren Zeilen und Spalten als Sitzungsparameter kann die Leistung beeinträchtigen. |
Weitere Informationen finden Sie unter
Untersystem für Benutzerverwaltung.
Auf Sitzungsparameter auf dem Plattformserver zugreifen
So rufen Sie die Sitzungsparameterwerte ab:
1. Klicken Sie in Composer auf Durchsuchen.
2. Wählen Sie unter System die Option Ressourcen aus, und öffnen Sie dann die CurrentSessionInfo Ressourcenentität.
3. Führen Sie auf der Registerkarte Dienste den GetGlobalSessionValues Dienst aus:
a. Suchen Sie den Dienst in der Liste, und klicken Sie dann unter der Spalte
Ausführen auf
. Das Dialogfenster
Dienst ausführen wird geöffnet.
b. Klicken Sie auf Ausführen. Die Parameterwerte für die aktuelle Sitzung werden im Fensterbereich Ausgabe angezeigt.
c. Klicken Sie auf Fertig, um das Dialogfenster zu schließen.
Die verfügbaren Sitzungsparameter sind im Fensterbereich Sitzung aufgeführt. Sie können den Fensterbereich Daten verwenden, um den Dienst GetGlobalSessionValues einem Mashup hinzuzufügen und die zurückgegebenen Werte an Funktionen, Dienste oder Widgets zu binden.
Beispiel: Eingaben für ein Widget "Textfeld" mithilfe eines Sitzungsparameters speichern
Der Sitzungseigenschaftswert geht nach dem Aktualisieren der Seite verloren, wenn eine Widget-Eigenschaft direkt an einen Sitzungsparameter gebunden ist. Zum Beibehalten des Wertes beim Neuladen der Seite müssen Sie setter- und getter-Dienste verwenden, um den Parameterwert zu aktualisieren und abzurufen.
1. Definieren Sie einen Sitzungsparameter, indem Sie die Schritte im Abschnitt "Sitzungsparameter hinzufügen" befolgen.
2. Erstellen Sie ein Hilfe-Assistent-Ding, das einen Dienst enthält, der den Sitzungsparameterwert festlegt.
3. Fügen Sie dem setter-Dienst einen Eingabeparameter namens input_string hinzu, und fügen Sie dann den folgenden JavaScript-Code hinzu:
Resources["CurrentSessionInfo"].SetGlobalSessionStringValue({name: "your_session_var", value: input_string});
4. Erstellen Sie ein Mashup, und fügen Sie dann das Widget "Textfeld", das Widget "Schaltfläche" und die Funktion "Validierer" hinzu.
5. Verwenden Sie den Fensterbereich Daten, um die folgenden Dienste hinzuzufügen:
◦ setter-Dienst, den Sie in Schritt 2 erstellt haben.
◦ Dienst GetGlobalSessionValues aus der Ressource CurrentSessionInfo.
6. Binden Sie die Eigenschaft Text des Widgets "Textfeld" an den Parameter input_string des setter-Dienstes.
7. Binden Sie die Sitzungsvariable unter der Eigenschaft All Data des Dienstes GetGlobalSessionValues an die Eigenschaft Text des Widgets "Textfeld".
8. Binden Sie das Ereignis Clicked des Widgets "Schaltfläche" an den setter-Dienst.
9. Binden Sie das Ereignis ServiceInvokeCompleted des setter-Dienstes an den Dienst Evaluate der Funktion "Validierer". Dadurch wird sogar sichergestellt, dass der Wert des Sitzungsparameters immer aktualisiert ist, bevor die Funktion ausgeführt wird.
10. Bearbeiten Sie die Funktion, und fügen Sie dem Ausdruck den folgenden Code hinzu:
location.reload()
11. Klicken Sie auf "Speichern", und zeigen Sie dann das Mashup an.
Geben Sie einen Wert in das Textfeld ein, und klicken Sie dann auf die Schaltfläche, um die Seite neu zu laden. Der Wert bleibt erhalten, nachdem die Seite neu geladen wurde.