Session オブジェクト
Session オブジェクトは、特定のユーザー セッションに必要な情報を保存するために使用できます。このようにして、ユーザーがアプリケーションの Web ページ間を移動しても、Session オブジェクトに格納されている変数は失われることなく、ユーザー セッション全体にわたって保持されます。
ユーザーがアプリケーションから Web ページをリクエストすると、ユーザーがまだセッションを持っていない場合、Web サーバーは自動的に Session オブジェクトを作成します。セッションが期限切れになるか放棄されると、サーバーはセッションを終了します。
Session オブジェクトの最も一般的な用途の 1 つは、ユーザー設定を保存することです。たとえば、ユーザーがグラフィックスを見るのが好きではないことを示した場合、この情報は Session オブジェクトに保存できます。 Session オブジェクトの使用方法の詳細については、ASP アプリケーション セクションの「セッションの管理」を参照してください。
セッション状態は、cookieをサポートするブラウザでのみ保存されることに注意してください。
構文
Session.collection|property|method
コレクション
コンテンツには、スクリプトコマンドを使用してセッションに追加された項目が含まれます。
StaticObjects には、7a4d48e0cef2cd71d96cba7e2b26153a タグと指定されたセッション スコープを介して作成されたオブジェクトが含まれます。
Property
CodePage シンボル マッピングに使用されるコード ページ。
LCID フィールドの識別。
SessionID はユーザーのセッション検証を返します。
タイムアウト アプリケーションのセッション状態のタイムアウト期間 (分単位)。
メソッド
Abandon このメソッドは、Session オブジェクトを破棄し、そのリソースを解放します。
イベント
次のイベントのスクリプトは、global.asa ファイルで宣言されています。
Session_OnEnd
Session_OnStart
上記のイベントと global.asa ファイルの詳細については、Global.asa リファレンスを参照してください。
コメント
Session オブジェクトに値を保存できます。 Session オブジェクトに格納された情報は、セッションおよびセッション スコープ内で有効です。次のスクリプトは、2 種類の変数がどのように格納されるかを示しています。
<% Session("username") = "Janine" Session("age") = 24 %>
ただし、オブジェクトを Session オブジェクトに保存し、メインのスクリプト言語として VBScript を使用する場合は、キーワード Set を使用する必要があります。次のスクリプトに示すように。
<% Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %>
その後、次のように、後続の Web ページで MyComponent.class1 によって公開されるメソッドとプロパティを呼び出すことができます:
<% Session("Obj1").MyMethod %>
また、オブジェクトのローカル コピーを展開し、次のスクリプトを使用して呼び出すこともできます:
<% Set MyLocalObj1 = Session("Obj1") MyLocalObj1.MyObjMethod %>
セッションスコープのオブジェクトを作成する別の方法は、global.asa ファイルで 7a4d48e0cef2cd71d96cba7e2b26153a タグを使用することです。
ただし、組み込みオブジェクトを Session オブジェクトに保存することはできません。たとえば、以下の各行はエラーを返します。
<% Set Session("var1") = Session Set Session("var2") = Request Set Session("var3") = Response Set Session("var4") = Server Set Session("var5") = Application %>
オブジェクトを Session オブジェクトに保存する前に、オブジェクトが使用しているスレッド モデル を理解する必要があります。シングルスレッド セッションをロックしない Session オブジェクトに格納できるのは、「両方」とマークされたオブジェクトのみです。詳細については、「ASP コンポーネントの作成」の「スレッド モデルの選択」を参照してください。
配列をSessionオブジェクトに格納する場合、配列に格納されている要素を直接変更しないでください。たとえば、次のスクリプトは実行できません。
これは、Session オブジェクトがコレクションとして実装されているためです。配列要素 StoredArray(3) は新しい値を取得しませんでした。この値はアプリケーション オブジェクト コレクションに含まれ、この場所に以前に保存されていた情報は上書きされます。
Session オブジェクトに配列を保存する場合は、配列内のオブジェクトを取得または変更する前に、配列のコピーを取得することを強くお勧めします。配列を操作するときは、加えた変更がすべて保存されるように、配列全体を Session オブジェクトに保存する必要があります。次のスクリプトはこれを示しています。
---file1.asp---
<% 'Creating and initializing the array Dim MyArray() Redim MyArray(5) MyArray(0) = "hello" MyArray(1) = "some other string " 'Storing the array in the Session object Session("StoredArray") = MyArray Response.Re dir ect("file2.asp") %> ---file2.asp--- <% 'Retrieving the array from the Session Object 'and mod if ying its second element LocalArray = Session("StoredArray") LocalArray(1) = " there" ' print ing out the string "hello there" Response.Write(LocalArray(0)&LocalArray(1)) 'Re-storing the array in the Session object 'This overwrites the values in StoredArray with the new values Session("StoredArray") = LocalArray %>関連する回答:
ページ A で正しいユーザー名とパスワードを入力した後、
ステートメントを追加します: session("isLogin")=true
ページ B の前の判断:
if session("isLogin")=false then response.write "未登录" response.en end ifそれだけです
ログイン後に設定します:
session("user")=username
ページBに入力します:
if session("user")="" then Response.write("<script>alert('请登陆!');window.history.go(-1);</scritp>") end if【関連する推奨事項】1. 2. ASPのセッションの紹介ASPセッション損失の問題を解決する方法を教えます
4. ASPのSessionオブジェクトの3つのメソッドを紹介します
以上がASPセッションの簡単な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。