ASPプログラミング入門ステップ(8):内蔵オブジェクトSession


ASPオブジェクトには、データの送信、受信、処理、サーバアクセスのためのオブジェクトの他に、非常に実用的なタグActive Serverアプリケーション、および単一ユーザ情報のオブジェクトがあります。Sessionオブジェクトは、ASP使用においてかなり大きな割合を占めている。ウェブページは無状態のプログラムなので、ユーザーの閲覧状態を知ることができません。ASPでは、ユーザーのプライベートデータ変数をSessionオブジェクトにより記録し、ユーザーとして再度サーバに要求する際に確認し、ユーザがプログラムのWebページ間をジャンプした場合、Sessionオブジェクト中の変数が存在しなくなります。これらは本当に重要な機能です。特に会員のシステムが必要です。会員の登録アカウント、時間、状態、および多くのこの記録のリアルタイムデータ(例えばショッピングシステムが利用者の買い物かご内の商品を記録する)のように、これらの情報は各利用者個人が必要とし、通常開発者はSession記録処理を使用する。ASPにおけるSessionはCookiesを用いて構成され、サーバはすべてのSession内に記録されたデータをCookiesとしてユーザーのブラウザに転送する。通常のブラウザはこれらのCookiesを保存しています。ユーザーがポイントを選択して接続するたびに、再度サーバとオンラインをすると、ブラウザはこれらのCookiesをServerに転送して処理します。これはSessionの動作原理です。これにより、セッション状態Sessionはクッキーをサポートするブラウザにのみ保持され、クライアントがCookieオプションSessionをオフにしても機能しないことがわかる。一、Session.Session IDSession ID属性は、ユーザのセッション識別子に戻ります。セッションを作成すると、サーバは各セッションに対して個別の識別を生成し、セッション識別は長い整形データタイプで返される。多くの場合、SessionIDはWEBページ登録統計に利用できます。この属性を利用して、ユーザに対する制御問題を解決することができる。この問題の主な機能は、あるウェブサイトのモジュールに対して、会員登録後にこのモジュールを見ていると、他の人が同じ会員名でログインしても、このモジュールを閲覧できません。つまり、会員名は一人でしか見られません。会員名(UserIDと仮定して、一意)とSessionIDで制御を実現しました。会員登録時に、この会員のSessionに登録状態を記録します。例えば、Session("Sttus")="ロギンド"はこの会員のSession.Session IDをデータベースに書き込みます。彼はこのモジュールをブラウズする時、まず登録するかどうかを判断します。登録してから、そのSessionIDがデータベース記録と同じかどうかを判断します。もし違ったらアクセスできません。このように、他のユーザーが同じ会員名でログインすると、データベースに記録されているのは新しいSessionIDで、前者がこのモジュールにアクセスした時には確認できません。これは会員名を実現しました。同時に一人でモジュールを見ることができます。この機能はいくつかの有料サイトで非常に効果があり、会員名が複数の人に閲覧される問題を防止し、会社の利益を保障しています。
<%=Session.SessionId%は、単独で生成された一意ID ID ID IDであり、デバッグを更新することができます。二、Session.TimeOutこの属性が設定したSessionの最大間隔時間。インターバル時間とは、クライアント側が最近Webサーバに要求し、次のWebサーバに要求する時間をいう。ユーザがこのタイムアウト時にウェブページを更新または要求しないとセッションは終了するということが理解できる。Timeout属性は分単位で、このアプリケーションのSessionオブジェクトにタイムアウト時間制限を指定します。一般的にデフォルトでは20分です。これはネットカフェなどの公共の場所で、個人情報ページに登録して、窓口を閉じるのを忘れた時に重要です。(少なくとも時間を短くしてもいいです。)
<%Session.TimeOut=10%>以上のSessionId、TimeOutはSessionオブジェクトの2つの属性に属しています。次に、オブジェクトの一つの方法Abandon 3、Session.Abandを参照してください。この方法はSessionオブジェクトの唯一の方法であり、Sessionオブジェクトをクリアして、ユーザのSessionオブジェクトを削除し、そのリソースを解放することができます。もちろん、Abandonメソッドを明確に起動していないと、セッションがタイムアウトしたら、サーバーもこれらのオブジェクトを削除してリソースを解放します。次は2ページのプログラムでSessionオブジェクトとAbandメソッドの利用を認識します。1,login.asp
「%」はurl中の変数のloginoutの値を抽出してtrueかどうかで、本当ならSession.Aband()を実行します。if Request.QueryString=「true」thenSession.Abandon()end if'はsubmitボタンをクリックした時だけ、抽出したものが全部空でないと判断してSessionオブジェクトを作成します。submit name=request.form(submit 1)if submitname=「submit」thenif Request.Formm("""""""andRequest.Formm("""""""""""""""""""""""thenSession""""=="Request""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""」)空でないと、Sessionの値が表示され、info.aspへのリンクが作られます。if Session("name")<>""thenreponse.write("あなたのname値は:"&session("name")reponse.write("
パズワド:「%end if%」Sessionを注意してください。空と空がないときはinfo.aspにリンクしました。具体的なデコの結果はどうなりますか?info.aspの内容を見てください。2,info.asp<%'session Oブジェ値が空であればば、login.aspif session("name")="thenにジェップロです。    Reponse.Redirect(「login.asp」)がないと個人情報elseが表示されます。    Resoses.Write(「あなたの名前」&session(「name」)&「」)    Reponse.Write(「あなたのパテント:」&session(「pw」)&「」end if%><「login.asp?loginnout=true」は終了します。info.aspページページの内容の表示は条件です。それはsession値の存在が必要です。ありがとうございます。具体的な情報を表示することができます。これはログンシムで多く使われています。ロゴニ.aspを登録します。ウェンドとして想像することができます。すみません、私のところは比較的簡単です。名前の前とパズワドを入力するだけでSessionが作成されます。)実际には、入力された名前の前とパズワがデベベルの名前の前とパズワが一致するかどうかを判断します。しっかし、info.aspページページページの役割は、ちょっとどうかというひとつのパ-ミットです。このページに入るにはSessionが必要です。Sessionの発生は、名前の前のパワが正しいことを保証します。フォ-ムウが表示されたということは、フォ-ムを提出してからSessionを生成してから入れます。これはローグインの本質です。Do You Know四、Session_OnStartSession_オーストリアはSession対象のイベンの一つです。サバイバが新したセセンを作成するということです。サバイバは要求したペルジを実行する前にスクリプトを処理します。Session_オーディションは、どのページにアスクの前に设定されますか?オーブジェクトのルーテルが起動したのです。セッションズ(u)をトリガーします。OStartイベン、そしてSession_を実行します。Ostartイベンの処理過程。つきまして、サービスバーがアプロモーション内のURLのHTTP要求を受けますと、ここのイベンをトリガーして、Session offictを作成します。もろんSessionです。OnStartイベンは一つのフです。アウルGlobal.asaに言及したのです。いいですよ。P.S:このファとChatプロラムを一緒にすることです。ですか?今は説明をします。ぎしぎしないでください。)具体的な使い方はまだ教えてくれません。Global.asaファァァルの中に书いてください。SCRIPT RUNAT=Server Language=VBScript>…Sub Session_OnStart….End Sub…五、Session_OnEndは一目でSessionの対象となる别のイベンである。Session.Aband Me soドを呼び出した時やTimeOutの時間に更新されていない場合は、Session_トリガします。OnEndイベンを実行します。同样に具体的な使い方は后に书いたGlobal.asaファァイルのテ-マに详しく绍介します。简単な文法は以下の通りです。<SCRIPT RUNAT=Server Language=VBScript>…Sub Session_OnEnd....End Sub...最后に、皆さんはここのよきプロシュートを游んでいますか?プログラムの調整だから、彼の人をからかうな。以下のファンキーはbug.html<body onunload=javascript:window.open(「bug」)>として保存します。Ctrl+Aは全部選択してコピーします。一部のコドゥを修正してからからから实行をクリックしてもいいです。]このファイルが闭じられます。もろんオーフにします。ソレスコドを修正してください。クローズズの回数を计算して、何回を超えたらいいですか?次はsession以下のファイルを使ってbug.aspとして保存します。<%if session("num")<2 then%>self.close)<br/>では、も3 ptを闭じます。以上がSession対象のシム学习です。