より多くの人々がASPをあきらめました。
テクニックの1つ:リクエストコレクションを使用する効率を向上させる
ASPコレクションにアクセスして、時間のプロセスを抽出し、コンピューティングリソースを消費します。この操作には関連するコレクションの一連の検索が含まれているため、よりアクセスしやすい
ローカル変数ははるかに遅いです。したがって、リクエストコレクションの値をページ内の値を複数回使用する予定がある場合は、ローカル変数として保存することを検討する必要があります。
たとえば、コードを次のフォームに書き込み、スクリプトエンジンの処理速度を高速化します。
strTitle=Request.Form(Title)
strfirstname = request.form(firstName)
strlastname = request.form(lastname)
len(strtitle)の場合、strtitle = strtitle&
strfirstname = then strflulllllllllname = strtitle&&strlastname
elseif len(strfirstname)= 1次に
strfullname = strtitle&strfirstname&
それ以外
strfullname = strtitle&strfirstname&&strlastname
ifを終了します
ヒント:適切なコレクションへの直接アクセス
選択肢がない場合は、strpage = request(page)を使用してパラメーターを取得しないでください。これにより、すべてのコレクションが順番に検索されるため
クエリストリング、フォーム、Cookie、ClientCertificate、最初のマッチ名が発見されるまでサービスを提供できます。これは、直接アクセスよりも優れています
この値が別のセットに表示されないことを絶対に保証できない限り、コレクションの効率は低くて安全ではありません。
たとえば、顧客の要求を満たすWebサーバーの名前を検索することをお勧めします。
server_name実装する。ただし、他のセットにserver_nameという名前の値(キー名が区別されない)も含まれている場合は、リクエストを使用してください
(server_name)、エラー結果が取得されます。全体として、可能な限り適切なコレクションに直接アクセスする必要があります。
ヒント3:時間を消費する前に、respons.isclientConnectedプロパティを使用します
Response.isclientConnectを使用することは、ユーザーがサーバーにまだ接続されており、ASPによって作成されたWebページをロードしているかどうかを観察するのに役立ちます。ユーザーが切断されている場合
または、ダウンロードを停止すると、バッファコンテンツがIISによって破棄されるため、サーバーのリソースを無駄にしてWebページを作成する必要はありません。したがって、計算するのに多くの時間を必要とする人のために
より多くのリソースを備えたWebページの場合、観光客が各段階でオフラインになっているかどうかを確認する価値があります。
…… Code to create first part of the page
response.isclientConnectの場合
Response.Flush
それ以外
Response.End
ifを終了します
...ページの次の部分を作成するコード
ヒント4:ASPのADO操作を最適化します
通常、データはWebサイトの実際のコンテンツを構成します。したがって、ADO操作を最適化してASPコードを加速します。これは非常に便利です。
a。単独で使用します
列の意味は、サーバーからのデータの量に削減されるか、サーバーから取得されます。すべての列を使用する必要がある場合でも、各列だけで最高のセックスを得ることができます
はい、サーバーはこれらの列の名前を説明する必要がないためです。
b可能な限り保存手順を使用します。ストレージ手順は、準備された実行計画を含む事前競合プログラムであるため、SQLステートメントよりも速く実行されます。
c適切なカーソルとロックモードを使用します。あなたが行うすべての作業が、集中レコードのデータを読み取り、画面に表示することである場合は、デフォルトを使用してください
前進して読むことのみができます。 ADOがレコードとロックの詳細を維持するために使用されるほど少ないほど、パフォーマンスが高くなります。
dオブジェクト変数を使用します。トラバーサルレコードセットがオブジェクト変数を使用してコレクション内のメンバーを指すことである場合、パフォーマンスを間違いなく改善できる方法。例えば:
While Not RsGc.EOF
Response.Writeプロジェクト名:&RSGC(GCMC)&(エンジニアリングコード:&RSGC(GCCODE)&)
rsgc.movenext
ウェンド
以下のコードを使用して、実行をスピードアップできます。
set GcMc=RsGc(GcMc)
gccode = rsgc(gccode)をset
rsgc.eof Response.writeエンジニアリング名:&gcmc&(エンジニアリングコード:&gccode&)
rsgc.movenext
ウェンド
新しいコードは、オブジェクト変数への参照を確立するため、実際の変数の代わりにオブジェクト変数を使用できます。つまり、スクリプトエンジンの作業が削減されます。
組合内のインデックスの数は少なくなりました。
ヒント5:スクリプトエンジンを混ぜないでください
ASPページはVBScriptまたはJScriptを使用できることを知っています。ただし、同じページでjscriptとvbscriptを同時に使用します
道具。サーバーはインスタンス化して2つの(1つではなく)スクリプトエンジンを復元しようとする必要があるため、システムの負担がある程度増加します。したがって、自然
同じページで複数のスクリプトを使用する必要があると考えることができます。