推奨:存在しないWebページの場合、ASPは電子メールの自動送信を実装しますウェブサイトを作成すると、通常、Webサイトで訪問者の行動や欠陥にいくつかのエラーがあり、存在しないページが訪問されます。この時点で、404エラーメッセージが表示されます。あなたが熱心な訪問者である場合、あなたに思い出させるためにあなたにメールを送ることができます。当時、ほとんどの人々
少し大きいASPを書いた人なら誰でも、セッションが本当に便利であることを知っています。安全で便利なユーザー所有のデータ変数を記録するために使用できます。しかし、セッションの仕組みを本当に知っていますか?おそらくあなたが理解した後、あなたはこの恋愛オブジェクトを再び使用することを敢えてすることはありません。代替案に変更する方法は少し面倒ですが、長期的な考慮事項の後、私はそうしなければなりません。
まず、セッションの利点について話しましょう。セッションは、クライアントが個人所有するデータ変数を記録するために使用でき、時間範囲内で消滅しません。これは本当に重要な機能、特にメンバーとシステムが使用する必要がある機能です。たとえば、メンバーのログインアカウント、時間、ステータス、およびこのレコードに記録された多くのリアルタイムデータは、ショッピングシステムがユーザーのショッピングバスケットに製品を記録します。この情報は各ユーザーが個人的に必要とし、開発者は通常、セッションレコードを使用してそれを処理します。
ただし、ASPのセッションはCookieで構成されており、サーバーはセッションで記録されたすべての情報をCookieの形でユーザーのブラウザに送信します。通常、ブラウザはこれらのCookieを保存します。ユーザーがリンクをクリックして再びサーバーに接続するたびに、ブラウザはこれらのCookieを処理のためにサーバーに戻します。これがセッションの動作原則です。データの量が大きい場合は、送信および収集する必要があります。サーバーは、オンライン処理やメモリの再構成などの初期アクションにより多くのリソースを費やす必要があるため、ラインの帯域幅を消費するだけでなく、パフォーマンスを低減します。今、あなたは「私はこの機能を使用しなければならないので、私は少し犠牲にしなければならない」と思うかもしれません。ただし、この記事ではセッションについて説明しています。一方では、誰もがより少ない使用を教えることです。一方、もちろん代替案があります。次に、ステージに来るのは、Global.asaに属するアプリケーションオブジェクトです。
アプリケーションは、一時的なデータの記録と処理にも適しています。あらゆる面での能力と使用はセッションと同じですが、それに比べて、それが記録するデータは公開されている、つまり、ユーザーが共有できる可変空間です。アプリケーションはセッションとは異なり、データをユーザーに渡さず、次回オンラインで読み返すのを待ちます。サーバー上のメモリに直接記録され、パフォーマンスはセッションよりもはるかに高速です。
アプリケーションオブジェクトは公開されているため、最初に行う必要があるのは、各ユーザーの共通領域を計画して、各ユーザーがシミュレーションセッションの目的を達成するためにデータを記録する独自の領域を持つことです。今それを行うには2つの方法があります:
1.サーバーがアクティブになったときに事前にユーザーメモリスペースを初期化および割り当てます。通常、このアプローチは、サーバーの電源が入るとすぐに多くのリソースを占有しますが、ユーザーがオンラインになるたびに割り当てなければならない問題も節約できます。ただし、制限があります。この方法を使用すると、最大数を制限する必要があります。アクティブ化されるとすぐに初期化されるため、一定量のメモリスペースの確立のみを推定できるため、通常、この方法はチャットルームなどの小さなプログラムで使用されます。
2。この方法は、大規模なアプリケーションに適していると考える必要があります。動的割り当て方法を採用します。ユーザーが初めてオンラインでサーバーに来た場合にのみ、リソースがこのユーザーに割り当てられます。これら2つのシミュレートされたセッションソリューションの目的は、セッションリソースの消費を減らすことですが、結局のところ、それはまだかけがえのないものです。まだ小さなセッションを使用する必要があります。これにより、少なくともサーバーの多くの負担を軽減できます。
■最初の計画
最初に、最初のソリューションの実装を開始します。アクティブ化されたときにアプリケーションを初期化することであるため、もちろんGlobal.asaから開始する必要があります。
初期化は完了しましたが、それを使用する方法は?アカウントやログイン時間などのセッションを使用して保存されている情報を、作成したアプリケーションオブジェクトに変更する必要があります。ここで、ユーザーがログインします。
| 以下は引用されたコンテンツです。 '未使用のスペースを探しています i = 1へのアプリケーション(clientmax)の場合 アプリケーション(user_status_&i)= 0の場合 'ユーザーの一時番号 セッション(index)= i 'ロック Application Application.Lock '使用済み状態に設定します Application(user_status_&i)= 1 '変数データに入れます Application(user_account_&i)= account application(user_logtime_&i)= now() 'ロック解除 Application.UnLock の出口 ifを終了します 次 |
ユーザーに関連する変数データを取得するには、次のようなものです。
respons.write(application(user_account_&session(index)))
セッションを使用しないという意味ではないことがありますか?では、なぜ上記の元のコードにセッションが存在するのですか?前述のように、この代替案はセッションを完全に置き換えることはできません。ブラウザは、サーバーを使用して常にオンラインではありません。ページを読んだ後に切断されます。それでは、同じ人が次回オンラインであるかどうかをどのようにして知ることができますか?現時点では、セッションに頼らなければなりません。ユーザーにリアルタイム番号のセットを提供します。この番号は、アプリケーション上の変数スペースにあるユーザーの数です。銀行には多くの金庫があると想像できます。キーがあり、キーには数があります。キーの番号により、オペレーターはあなたを安全に導くことができます。この方法にはいくつかの改善がありますが、小さなアプリケーションには十分です。
■2番目の計画
以前のソリューションに関しては、カスタマイズされた番号がセッションを使用して記録すると考えることもできます。番号付けといえば、セッションオブジェクトは「SessionID」メソッドを提供します。そうです、それを使用したいかどうかに関係なく、サーバーは各ユーザーが番号を割り当てるのに自動的に役立ち、この番号は繰り返されません。この数値に関しては、session.sessionidで取得されます。この番号付けは、セッションが間違いなく行うアクションであるため、自分自身を書く番号付けプログラムを置き換えるために使用できます。しかし、基本的に、上記の最初のソリューションは、人数やその他の小規模アプリケーションを制限するチャットルームなど、依然として有用です。次の2番目の選択肢は、より大きなシステム用です。
毎秒ウェブサイト上に数十万人、数万人、さらには何万人もの人々がいるウェブサイトであれば、以前のソリューションを使用していれば、それは間違いなく機能しません。 10,000人の上限を設定し、サーバーがアクティブ化されると、10,000人のユーザーに備えるために10,000のエリアを切り取るのに役立ちます。領域に5つの変数がある場合、1つの変数が32バイト(バイト)を占め、10,000が320,000 K(320MB)を超える10,000がアカウントを占め、サーバーがアクティブ化されると、ゴミをメモリに詰め込み、そのパフォーマンスは戦闘場に行く前に必然的に減少します。そして、これらの数値は非常に少ないにもかかわらず、512 MBのあなた自身で十分であり、上記の数は最小数であると想定されていると思います。また、メモリを構成するときにサーバーが使用するリソースの数が不明であるため、それはそれ以上のみであり、低くないでしょう。したがって、解決策は、ユーザー変数スペースを動的に構成し、ユーザーがサーバーでオンラインであるときに領域をカットすることです。そのため、事前に巨大なメモリを構成する必要はありません。
2番目のソリューションは比較的簡単です。最初のソリューションですべてのものを捨ててください。 Global.ASAに移動する必要はありません。ユーザーのログインやその他の便利な場所を変更するだけです。
| 以下は引用されたコンテンツです。 Lock ApplicationApplication.Lock '変数データを配置します Application(user_account_&session.sessionId)= account application(user_logtime_&session.sessionid)= now() '' lonock nollock application.unlock |
ユーザーに関連する変数データを取得するには、次のようなものです。
respons.write(application(user_account_&session.sessionid)))
過去には、セッションはリソースを食べにくいと言った多くの本を読んだので、それらを使用しないようにしてください。今、あなたがセッションを交換する方法を理解したら、それをうまく利用してください!おそらく、常に問題を抱えている効率の問題は大幅に改善される可能性があります!
共有:ASPを使用して、よりユーザーフレンドリーなポップアッププログラムを作成しますASPの例:ASPを使用して、よりユーザーフレンドリーなポップアッププログラムを作成して、無意味な調査方法を作成するのに役立ちます。ポップアップウィンドウを使用してアンケートを表示することは、ユーザー情報を収集するための最も便利で迅速な方法であると考えられています。最初のアンケートが作成された後