4.3.6 WAM Session Properties

Session configuration is done by directly specifying values for WAM properties. There are properties for configuring how the session key is stored in the browser, for setting the inactivity timeout period of the session and so on. By default, each WAM maintains its own session state independent of other WAMs.

The following table describes session management related WAM properties:

Property

Value

Description

SessionKeyMethod

URL, Cookie, SecureCookie, or HiddenField

This is the method of storing a session identifier, known as a session key, in the browser. The secure cookie method is considered the most secure. This property is not available at runtime.

SessionStatus

Active, Invalid, Expired, or None

At runtime, this property can be queried to determine the status of the Web session. You can also control creation and deletion of a session by setting this property to Active or Invalid, respectively. At design time, this property can be set on a WAM wide basis, which applies to every WEBROUTINE, or for an individual WEBROUTINE by using OnEntry keyword. Setting a value of Active at design time, ensures that a session is validated before executing a WEBROUTINE. A value of None allows a WEBROUTINE to be executed, even when a session is invalid or expired. SessionStatus can then be set to Active inside this WEBROUTINE to create a new session and return the session key to the browser. This property is available both at design time and runtime.

SessionTimeout

A numeric value in seconds. If set to 0, a system wide default is used. If set to –1 an infinite timeout is used (i.e. there is no timeout).

A timeout value determines a period of time after which a session is deemed expired if no request has been received. Any subsequent requests for WEBROUTINEs requiring a session (SessionStatus set to Active), will not execute the WEBROUTINE, but will trigger a SessionInvalid event. The timeout applies to all WEBROUTINEs in the WAM.

The session state may still be in the session store, since you can schedule a clean up done later.

This property is not available at runtime.

SessionGroupName

Any alphanumeric value

Every WAM maintains its own session state and is separate to other WAMs. If more than one WAM participates in a Web application, it is possible to have all required WAMs reference the same session state by assigning the same identifier in this property for all participating WAMs. This property is not available at runtime.

 

All WEBROUTINEs in a WAM are assigned an initial SessionStatus value from a WAM-defined SessionStatus property. However, SessionStatus can be overridden by using an OnEntry keyword for a WEBROUTINE with the following values:

Value

Description

*SessionStatus_Active

An active session is assumed for the WEBROUTINE to be entered for execution.

*SessionStatus_None

No session is required for the WEBROUTINE to be entered for execution.

*SessionStatus_Of_WAM

This is the default if the OnEntry keyword is unspecified. Assumes the value of the WAM's SessionStatus property.