Global.ASAファイルはオプションファイルです。ユーザーは、指定されたイベントスクリプトでセッションとアプリケーション全体のオブジェクトを宣言できます。今日、Fooxin Technology Channelの編集者は、関連情報を特別に収集して整理しました。興味のある友達は、次の記事にアクセスして詳細をご覧ください!
私たちは皆、.asaがファイルの接尾辞名であることを知っています。 Active Serverアプリケーションの頭字語です。
実際、プログラムライターがイベントスクリプトを指定し、セッションとアプリケーションのスコープでオブジェクトを宣言できるオプションファイルです。このファイルの内容は、ユーザーに表示されるのではなく、アプリケーションによってグローバルに使用されるイベント情報とオブジェクトを保存するために使用されます。このファイルは、アプリケーションのルートディレクトリに保存する必要があります。各アプリケーションには、1つのGlobal.ASAファイルのみを持つことができます。
Global.ASAファイルに関する最も一般的な誤解は、一般的な使用機能とサブルーチンのライブラリとして使用できることです。 Global.ASAファイルは、参照を作成し、オブジェクトの起動をキャプチャするためにのみ使用できます。また、アプリケーションオブジェクトとセッションオブジェクトが終了します。
Global.ASAファイルは、セッションレベルのイベントに基づいてアクセスされ、次の3つのケースで呼び出されます。
Global.ASAの標準ファイル形式は次のとおりです。
<スクリプト言語= "vbscript" runat = "server"> sub application_onstart 'application_onstart run end sub session_onstart顧客がアプリケーションのホームページ' session_onstart run subs session_onend 'session_onend run end subs session_onend' session_onend end sub appection_onend 'and end sub sup </sites ed sup> suped subs subs subs subs subs sup s subs_onend
1。SESSION_ONSTART
まず、ユーザーを制御してページを入力するコードを見てみましょう。
1。Global.ASA(デバッグされた仮想ディレクトリのルートディレクトリの下に配置)
<スクリプト言語= "vbscript" runat = "server"> sub session_onstart 'ユーザーが初めてこのサイトにログインしている限り、彼はホームページResponse.redirect(http://www.jb51.net)end sub </script> sub/script>
次に、現在の仮想ディレクトリ内のファイルをデバッグすると、すべてのページがhttp://www.webjx.com/にジャンプすることがわかります。
「特定のページへの強制エントリ」のこの例を通して、ホームページに従う必要があるときに非常に必要であることが想像できます。
「オンラインユーザーの数」の例を使用して、session_onstartおよびsession_onendイベントを引き続き観察しましょう
2。SESSION_ONEND
2。Global.ASA(デバッグされた仮想ディレクトリのルートディレクトリの下に配置)
<スクリプト言語= vbscript runat = server> sub application_onstart '初期値は0アプリケーション( "online")= 0 end sub session_onstart'ユーザーアクセスは1アプリケーションを追加します。 Application( "Online")-1 Application.Unlock End sub </script>
3。オンライン.asp
<if request.queryString( "logout")= "true" then session.abandon()respons.end end end end end end inが現在<%= application( "online")%> online <a href = "online.asp?logout = true"> exit </a>
ページには1つのアプリケーション(「オンライン」)しかないことがわかり、参照されています。それで、その価値はどこから来るのでしょうか?これは、Global.ASAファイルの鍵です。このマシンでWindowsを開いたり、Windowsを閉じたり、2つの方法のデバッグを終了したりできます。
3。それを洗練し続けます
「終了」接続後にウィンドウを閉じることの効果は、ウィンドウを直接閉じることとは異なることがわかります。セッションは時間内に存在するため、ウィンドウを直接閉じると、Session_Onendイベントをトリガーできないので、このほとんど不可能なアイデアをどのように実現できますか?
誰もが知っているように、Webページが閉じられている場合、Onunloadイベントを伴うことがあります。したがって、Onunloadを実行できる限り、必要なのはそれではありませんか?ナンセンスを減らして、オンラインで変更してください
<if request.querystring( "logout")= "true" thens session.abandon()respons.end end if> <body onunload = javascript:windo.open( "exit.asp")>
Online.aspがonunloadである場合、Exit.aspが開くことに注意してください。次に、exit.aspでsession.abandon()を設定し、OKではありません。
exit.asp
<%session.abandon()%> <script> self.close()</script>
もちろん、セッションがログアウトされた直後に、スクリプトスクリプトが追加されました。現在、オンライン統計を備えたWebアプリケーションだけで十分です。
4。Global.ASAの詳細な研究
上記のデバッグから、1つの例から学び、他の例に適用し、登録ユーザーの数をオンラインで制御する方法を間違いなく質問しますか?次のドキュメントを1つずつ読みましょう。
4。Global.ASA(デバッグされた仮想ディレクトリのルートディレクトリの下に配置)
<スクリプト言語= "vbscript" runat = "server"> sub application_onstart application( "online")= 0 end sub session_onstart sub session_onend if session.contents( "pass")then 'ユーザーのsession_onendアプリケーション。
このGlobal.ASAのsession_onstartブロックは、イベントを引き起こさないことに注意してください。
ユーザーがサーバーにアクセスすると、ユーザーがログインするかどうかに関係なく、スタートイベントが生成されます。必要なのは、ユーザーのオンラインにログインすることだけなので、OnStartイベントに1を追加することはできません。
また、ログインしたユーザーのセッションが終了したかどうかに関係なく、オンエンドイベントが生成されるため(訪問者がサーバーにアクセスしたがログインしていない場合、セッションの終了後にオンエンドイベントも生成されます)。その場合、オンラインの人数は1減少します。
また、Session.Contents( "Pass")の使用は、OnEndイベントではセッションオブジェクトの使用が禁止されているためですが、セッション変数はセッションオブジェクトのコレクションを使用して呼び出すことができます。つまり、セッション(「パス」)を直接記述することはできませんが、session.contents( "pass")を記述する必要があります。
5。Login.asp
現在登録されているメンバー<%= application( "オンライン")%>。
<a href = "login.asp?logout = true"> exit </a> <%else%> <form action = "login.asp" method = "post"> <入力タイプ= "text" name = "name"> <br> <input type = "password" name "name" name = "pwd"> <br> <入力タイプ= "if" submit ""> <
CNBRUCEの名前とパスワードの名前がCNROSEである場合、セッション( "Pass")= Trueが生成され、Global.ASAで審査されることを検出してください。
5。想像力を使い続けます
それについて考えて、もう一度考えてください。オンラインで何人の人を数えるだけでは十分ではなく、ユーザーのオンラインステータスを判断する必要があります。
基本的な方法を想像できます。ユーザーがログインしたら、オンラインをlogin.aspで1に設定します(データベースがある場合はアップロード)がオフラインの場合は、オンラインを0に設定します。それを改善するには、セッション_onendイベントを変更し、イベントでオンラインを0に設定する必要があります(同じ値がアップロードされます)...
もちろん、Global.asaはそれ以上のものです。しかし、私たちは今それをすべてマスターするために急いでいる必要はありません。データベースと接触すると、それを調べてファイルを調査し続けます。それまでに私たちは間違いなく多くを実現すると信じています。それでは、最初に上記をよく理解しましょう。
この記事を通して、ASPのGlobal.ASAファイルの使用を簡単に分析して、より多くの助けをもたらすことができることを願っています。 Wuxin Technology Channel Networkでより多くの技術的知識が利用可能になります!