セッションを開始 |
名前 | タイプ | データタイプ | 記述 |
|---|---|---|---|
Timeout | *Input (任意) | 整数 | セッションが終了するまでの非アクティブな状態の秒数 |
StartSession メソッドは、新しいセッションを作成するために使用されます。
Session (* Required) で定義された SrvRoutines は、有効なセッションが存在しない場合に失敗します。1 つを実行しようとすると、 Failed イベントがクライアントで発生します。
デフォルトでは、 300 秒間アクティビティがない場合、セッションはタイムアウトします。このデフォルトを上書きするには、 Timeout パラメーターを使用できます。
列挙値 | 説明 |
|---|---|
>1 | タイムアウトまでの秒数 |
0 | データ/アプリケーションサーバー構成にて定義されているグローバルな省略値を使用 |
-1 | セッションはタイムアウトしない |
この例では、サインオンとサインオフのためのルーチンを備えたシンプルなセッションサーバーモジュールを示します。
SessionIdentifier(PRIM_SRVM) は、そのサーバーモジュールが他のモジュールと組み合わせて使用することができ、共有できるデータを永続化に指定されています。
Begin_Com Role(*EXTENDS #PRIM_SRVM) SessionIdentifier(Personnel)
Define Field(#gUserID) Type(*Char) Length(40)
Persist Fields(#gUserID)
Srvroutine Name(Signin)
Field_Map For(*Input) Field(#User)
Field_Map For(*Output) Field(#Result)
If (#Com_owner.VerifyUser( #User ))
#Com_owner.StartSession Timeout(240)
#Result := OK
#gUserID := #User
Else
#Result := ER
Endif
Endroutine
Mthroutine Name(VerifyUser) Access(*Private)
Define_Map For(*Input) Class(#xDemoAlpha128) Name(#User)
Define_Map For(*Result) Class(#xDemoBoolean) Name(#Result)
* Test for a valid user
Endroutine
Srvroutine Name(Signoff) Session(*Required)
#Com_owner.EndSession
Endroutine
End_Com