多くの人がセッション変数を使用して ASP (Active Server Pages) を開発します。これらの変数は、あらゆるプログラミング言語の汎用変数に非常に似ており、汎用変数と同じ長所と短所があります。どのコマンドも実行時間と記憶域 ( GOTO ステートメントも) を必要とし、セッション変数にも独自の実行時間と記憶域が必要です。セッション変数を過度に使用すると、コードの冗長性が生じ、サーバーの実行コストが増加します。セッション変数の使用に関する私の主な見解と経験をいくつか紹介します。
アドバンテージ
多くの Web ページ間で変数を渡したい場合は、QueryString を介して変数を渡すよりも、セッション変数を使用すると問題を単純化できます。
WEB サイトをカスタマイズするには、セッション変数の使用を検討してください。これに基づき、LDAP や MS Site Server などを使用すると、すべてのカスタマイズ プロセスをセッション変数に入れる必要がなくなり、このカスタマイズはユーザーの好みに基づいて行われます。 。
セッション変数を事前に宣言せずに、いつでも直接使用できます。この方法は、VB での変数の使用に近いです。使い終わったら自動的に解除されるので解除を考える必要はありません。
欠点がある
セッション変数と Cookie は同じタイプです。ユーザーがブラウザをどの Cookie とも互換性がないように設定した場合、ユーザーはこのセッション変数を使用できません。
ユーザーがページにアクセスすると、各セッション変数の実行環境が自動的に生成されます。これらのセッション変数は、ユーザーがページを離れた後も 20 分間保持されます。 (実際、これらの変数はタイムアウトまで保持されます。タイムアウトの長さは Web サーバー管理者によって設定されます。サイトによっては、3 分間のみ保持される変数、10 分間保持される変数、さらにはデフォルト値の 20 分間保持される変数があります。)したがって、より大きなオブジェクト (ADO レコードセット、接続など) をセッションに配置すると、問題が発生します。サイトへのアクセス数が増えると、サーバーが正常に動作しなくなります。
セッション変数の作成は非常に任意であり、開発者が正確な処理を行わなくてもいつでも呼び出すことができるため、セッション変数を過度に使用すると、コードが読みにくくなり、保守が困難になります。
セッション変数を使用したいときに事前に宣言せずに直接使用することもできますが、この方法は VB での変数の使用に近いです。使い終わったら自動的に解除されるので解除を考える必要はありません。しかし、誰がそこに考えたでしょうか?変数は何を意味するのでしょうか?これはどれもあまり明確にはなりません。
要約する
セッション変数の使用には利点と欠点の両方があります。私の個人的な意見では、これらは控えめに使用するのが最善ですが、いくつかの場所で使用すると、Web 開発が大幅に簡素化されます。セッション変数を使用するかどうかは、完全に個人のニーズに依存します。使用するかどうかに関係なく、その利点と欠点を事前に考慮する必要があります。