推奨:ASPアプリケーションの高度なASPエラーオブジェクトに関する知識VBScriptには、スクリプトインタープリターがランタイムエラーを無視し、スクリプトコードの実行を継続するOnerrorresumenextステートメントがあります。次に、スクリプトはERR.Numberプロパティの値を確認して、エラーが発生したかどうかを判断できます。エラーが発生した場合、ゼロ以外の値が返されます
4.2.3命令を含むサーバー側の例
このセクションでは、さまざまなサーバー側に含まれるステートメントを実験するために使用できるいくつかのサンプルページを提供します。 SSIディレクティブとASPサーバーオブジェクトのホームページを表示して、サンプルWebページのサブディレクトリを開きます。
この本のすべての例は、当社のWebサイトからダウンロードできます。読者は、この章の残りの部分の第04章、サブディレクトリのすべてのサンプルページを見つけるでしょう。
1。SSI/CGIを使用して、指示を処理します
リンクをクリックして、SSI_CGI.STMページを開くページとCGIステートメントページとCGIステートメントページを入力します。このページのファイル拡張子は.stmであることに注意してください。これは、これがASP Webページではないことを示しています。このページでは、前述の#EXEC命令(後述)を除くすべてのSSI命令を使用し、図4-4に示すように、指示の使用方法と結果を表示します。
図4-4サンプルWebページに表示されているSSI/CGI処理手順
(1)#includeコマンド
ページの開始には、SSIのファイルが含まれ、Intro.incという名前の別の個別のファイルの内容を表示します。これがファイルの完全なコンテンツです:
Webページに角度ブラケットを表示するには、HTMLエントリを使用する必要があることに注意してください。それらが完了していない場合、それらは注釈要素の一部として扱われず、その命令を実行することはできません。
メインSSI_CGI.STMページでは、このファイルをページに挿入するコードは非常に簡単です。
<! - #include file = intro.inc->
(2)#config、#fsize、#flastmodディレクティブ
ページの次の部分は、ページと同じディレクトリのファイルdefault.aspのサイズと最後に変更されたことを示しています。 #configディレクティブはここで3回使用されました。
・1回はSSIエラーメッセージセットです。
・1回は日付と時刻の形式です。
・ファイルサイズの計算の形式を設定したら。
#fsizeおよび#fiastmodディレクティブを使用して、Webページに値を挿入します。
<p> <div class = subhead> ssiステートメント</div>
<! - #config errmsg = SSI処理エラー - >
(SSIエラーの場合にエラーメッセージを設定)<br>
<! - #config errmsg = SSI処理エラー - > <p>
ファイル「default.asp」の詳細:<br>
<! - #config sizefmt = bytes - >
(バイト単位でサイズを返すようにfsizeを設定)<br>
<! - #config sizefmt = bytes - >
<! - #fsize file = default.asp->
返品:<b> <! - #fsize file = default.asp->バイト</b> <br>
<! - #config timefmt =%a、%b%d%y%h:%m:%s->
(日付/時刻の結果に形式を設定)<br>
<! - #config timefmt =%a、%b%d%y%h:%m:%s->
<! - #flastmod file = default.asp->
返品:<b> <! - #flastmod file = default.asp-> </b> <p>
(3)#ECHOコマンド
ページの最後の部分(画面に表示できる部分のみ)は、#ECOディレクティブを使用してアクセスできるすべてのHTTPヘッダーの内容を示しています。各行のコードは同じですが、VARプロパティ値が変更されることを除きます。 VAR属性のすべての許可された値の完全なリストは、付録Gに示されています。
<div class = subhead> http変数</div>
<! - #echo var = auth_type->
返品:<b> <! - #echo var = auth_type-> </b> <br>
<! - #echo var = auth_password->
返品:<b> <! - #echo var = auth_password-> </b> <br>
…など…
2。#EXECディレクティブを使用します
#EXECディレクティブは、他のSSIディレクティブよりも使用が困難であり、このため、別のページに個別に配置されています。起動ページには、ASPサーバーオブジェクトとSSIディレクティブメインメニューからアクセスできます。
このページで、#echoサーバー側を使用してディレクティブリンクを使用することを選択します。この操作により、SSI #EXECディレクティブページが開きます
SSI #EXECディレクティブWebページ
これは、ASP WebページSSI_EXEC.ASPです。 2つのボタンを使用して.stmページを開くために使用され、#EXECディレクティブで説明されているアクションを実行します。
(1)この例をサーバーで実行します
SSI #EXECディレクティブの例がサーバーで動作する前に、一部の構成を変更する必要があります。まず、WebサーバーのレジストリにSSIENABLECMDDIRECTICEエントリ(タイプDWORD)を作成する必要があります。
hkey_local_machine/system/currentControlset/services/w3svc/パラメーター
次に、値を1に設定します
これにより、#EXECディレクティブをCMD属性で使用できます。
第二に、#EXECディレクティブを使用して.STMファイルを含むディレクトリには、匿名アクセスを禁止する必要があります。クライアントは、アカウントの詳細を提供することを余儀なくされます。これは、管理者レベルの権限を持つアカウントである必要があります。これは、正味コマンドが正常に機能するための要件でもあります。
Internet Services Managerアプリケーションをアクティブにし、#Exec Directiveを使用して.STMファイルを含むディレクトリを選択します(例では、これらのファイルはexecディレクトリのstart_cisvc.stmおよびstop_cisvc.stmです)。次に、そのディレクトリの[プロパティ]ダイアログボックスを開きます。匿名アクセスおよび認証制御領域の[ディレクトリセキュリティ]タブの[編集]ボタンをクリックして、[認証方法]ダイアログボックスを開きます
このダイアログボックスでは、匿名アクセスチェックボックスが選択されていません。インターネットエクスプローラーを使用してページにアクセスしない場合は、基本認証オプションを開き、ユーザー名/パスワードを送信して、非IEブラウザがページにアクセスできるようにします。セットアップを設定すると、セキュリティに関する警告が表示されます。[はい]をクリックします。ブラウザは、ページに匿名でアクセスできないため、適切なアカウントと身元証明書を表示せざるを得なくなります。
サービスの開始と終了の結果を確認するには、サービスMMCプラグインを開き、インデックスサービスを終了します
(2)インデックスサービスを開始および終了します
サンプルWebページのボタンをクリックして、Microsoftインデックスサービスを開始します。
このサービスの短い名前はCISVCで、一般にMicrosoft Index Serverと呼ばれ、名前のCI文字は実際にはコンテンツインデックスを表します。
プロンプトが表示されたら、Webサーバーに管理者の特権を持つアカウントのユーザー名とパスワードを入力します。ページ(start_cisvc.stm)が開かれると、#execディレクティブがウィンドウコマンドインタープリター(cmd.exe)のインスタンスをロードし、net startコマンドを実行するため、特定の遅延を感じます。サービスが開始されると(または既に実行されている場合)、ページの残りの部分が表示されます
インターフェイスは、ユーザー名とパスワードを入力した後に表示されます
このページのコードは非常に簡単です。 #EXECディレクティブにはCMDプロパティがあることがわかります。これはCMD.EXE /Cネット開始CISVCに設定されています。フォームには、前のページに戻るための送信ボタンが含まれています。
<p> SSI指令の処理:</p>
<p> <b> <! - #exec cmd = cmd.exe/c net stop cisvc-> </b> </p>
<! - #exec cmd = cmd.exe /c net stop cisvc->
<form action = ../ssi_exec.asp>
<入力タイプ=送信name = cmdok value =>
前のページ<p>に戻ります
</form>
STOP_CISVC.STMなどの前のページから他の.STM Webページを開くことができます。再びサービスを終了します。唯一の違いは、ネット開始コマンドの代わりにネットストップコマンドが使用されることです。
…
<! - #exec cmd = cmd.exe /c net stop cisvc->
…
共有:例では、ASPで切断レコードを使用する方法を説明していますデータベースプログラミングにASPの組み込みのADOコンポーネントを使用すると、通常、スクリプトの先頭に接続を開き、スクリプトの最後に閉じますが、より大きなスクリプトの場合、ほとんどの場合、開く必要があるよりもはるかに長く開きます。したがって