Session
Session : 4D.Session
| 引数 | 型 | 説明 | |
|---|---|---|---|
| 戻り値 | 4D.Session | ← | Session オブジェクト | 
履歴
| リリース | 内容 | 
|---|---|
| 20 R8 | スタンドアロンセッションのサポート | 
| 20 R5 | リモートクライアントとストアドプロシージャーセッションをサポート | 
| 18 R6 | 追加 | 
説明
Session コマンドは、カレントのユーザーセッションに対応する Session オブジェクトを返します。
コマンドを呼び出したプロセスによって、カレントユーザーセッションは次のいずれかです:
- Web セッション(スケーラブルセッションが有効化されている 場合)
- リモートクライアントセッション
- ストアドプロシージャセッション
- スタンドアロンアプリケーションのdesigner セッション
詳細については、Session types の段落を参照ください。
サポートされていないコンテキスト (スケーラブルセッションが無効など)から呼び出されると、コマンドは Null を返します。
Webセッション
Webセッションの Session オブジェクトは、どの Webプロセスからも利用できます:
- On Web Authentication、- On Web Connection、および- On REST Authenticationデータベースメソッド
- セミダイナミックページにおいて、4Dタグ (4DTEXT, 4DHTML, 4DEVAL, 4DSCRIPT/, 4DCODE) を介して処理されるコード
- "公開オプション: 4DタグとURL(4DACTION...)" を有効化されたうえで、4DACTION/ URL から呼び出されたプロジェクトメソッド
- モバイルリクエスト用の On Mobile App AuthenticationとOn Mobile App Actionデータベースメソッド
- RESTリクエストで呼び出された ORDA関数。
Web ユーザーセッションに関する詳細な情報については、Web Server Sessions の章を参照してください。
リモートクライアントセッション
リモートクライアントの Session オブジェクトは、次のいずれかから利用できます:
- サーバー上で実行 属性を持つプロジェクトメソッド (クライアントプロセスの "双子" プロセスで実行されます)
- トリガー
- On Server Open Connectionおよび- On Server Shutdown Connectionデータベースメソッド
リモートユーザーセッションの詳細については、リモートクライアントユーザーセッション の段落を参照ください。
ストアドプロシージャーセッション
すべてのストアドプロシージャープロセスは、同じ仮想ユーザーセッションを共有します。  ストアドプロシージャーの Session オブジェクトは、次のいずれかから利用できます:
- Execute on serverコマンドで呼び出されたメソッド
- On Server Startup、- On Server Shutdown、- On Backup Startup、- On Backup Shutdown、および- On System eventデータベースメソッド
ストアドプロシージャーの仮想ユーザーセッションに関する情報については、4D Serverと4Dランゲージ のページを参照ください。
スタンドアロンセッション
Session オブジェクトは、スタンドアロン(シングルユーザー)アプリケーション内の任意のプロセスから利用可能なため、4D 開発環境においてSession オブジェクトを使用することで、クライアント/サーバー用のコードを書いてテストすることができます。
例題
"公開オプション: 4DタグとURL(4DACTION...)" ブラウザーに次の URL を入力してメソッドを呼び出します:
IP:port/4DACTION/action_Session
  //action_Session メソッド
 Case of
    :(Session#Null)
       If(Session.hasPrivilege("WebAdmin")) // hasPrivilege 関数を呼び出します
          WEB SEND TEXT("4DACTION --> セッションは WebAdmin です")
       Else
          WEB SEND TEXT("4DACTION --> セッションは WebAdmin ではありません")
       End if
    Else
       WEB SEND TEXT("4DACTION --> セッションは null です")
 End case
参照
Session storage
Session API
Web server user sessions
Scalable sessions for advanced web applications (blog 記事)
プロパティ
| コマンド番号 | 1714 | 
| スレッドセーフ | ✓ |