ASP 組み込みオブジェクトの使い方
ASP(Active Server Page)の作成:インデックス への移動
ASP 組み込みオブジェクトは,ASP 内で実行されるオブジェクトに対して ASP が供給する COM オブジェクトのセットです。ASP 組み込みオブジェクトを使用すると,Active Server オブジェクトは,アプリケーションと Web ブラウザの間で渡されるメッセージを反映する情報,および同じ ASP アプリケーションに属す Active Server オブジェクトの間で共有される情報を格納する場所にアクセスできます。
これらのオブジェクトに簡単にアクセスできるようにするために,Active Server オブジェクトの基本クラスはこれらをプロパティとして公開します。これらのオブジェクトについて完全に理解したい場合は,Microsoft の資料を参照してください。ここでは概要を説明します。
アプリケーション
アプリケーションオブジェクトは,IApplicationObject インターフェースを介してアクセスされます。これは ASP アプリケーション全体(仮想ディレクトリおよびそのサブディレクトリ内のすべての .asp ファイルのセットとして定義される)を表します。アプリケーションオブジェクトは複数のクライアントによって共有できるので,スレッドの衝突を防止するために使用する必要があるロックサポートを含んでいます。
IApplicationObject には以下のものが含まれます。
IApplicationObject インターフェースメンバー :
プロパティ,メソッド,またはイベント | 意味 |
---|---|
Contents プロパティ |
スクリプトコマンドを使ってアプリケーションに追加されたすべてのオブジェクトをリストする。このインターフェースには Remove と RemoveAll の 2 つのメソッドがあり,これを使用するとリストから 1 つまたは全部のオブジェクトを削除できる |
StaticObjects プロパティ |
<OBJECT> タグを使ってアプリケーションに追加されたすべてのオブジェクトをリストする |
Lock メソッド |
Unlock を呼び出すまでほかのクライアントがアプリケーションオブジェクトをロックしないようにする。すべてのクライアントは,(プロパティなどの)共有メモリにアクセスする前に Lock を呼び出す必要がある |
Unlock メソッド |
Lock メソッドを使って設定されたロックを解除する |
Application_OnEnd イベント |
アプリケーションが終了するときに,Session_OnEnd イベントの後に発生する。使用可能な組み込みオブジェクトは Application と Server だけである。このイベントハンドラは VBScript または JScript で作成しなければならない |
Application_OnStart イベント |
新規のセッションが作成される前(Session_OnStart の前)に発生する。使用可能な組み込みオブジェクトは Application と Server だけである。このイベントハンドラは VBScript または JScript で作成しなければならない |
リクエスト
リクエストオブジェクトは,IRequest インターフェースを介してアクセスされます。ASP を開かせた HTTP リクエストメッセージについての情報を提供します。
IRequest には以下のものが含まれます。
IRequest インターフェースメンバー :
プロパティ,メソッド,またはイベント | 意味 |
---|---|
ClientCertificate プロパティ |
HTTP メッセージとともに送信されるクライアント証明書の中の全項目の値を示す |
Cookies プロパティ |
HTTP メッセージ上のすべての Cookie ヘッダーの値を示す |
Form プロパティ |
HTTP 本体内のフォーム要素の値を示す。これは名前でアクセスできる |
QueryString プロパティ |
HTTP ヘッダーから問い合わせ文字列内のすべての変数の値を示す |
ServerVariables プロパティ |
さまざまな環境変数の値を示す。これらの変数は,共通 HTTP ヘッダー変数の大部分を表す |
TotalBytes プロパティ |
リクエスト本体内のバイト数を示す。これは BinaryRead メソッドが返すバイト数の上限である |
BinaryRead メソッド |
Post メッセージのコンテンツを取り出す。このメソッドを呼び出して,読み出す最大バイト数を指定する。その結果のコンテンツは Variant 配列のバイトとして返される。BinaryRead を呼び出した後は,Form プロパティを使用することはできない |
レスポンス
レスポンスオブジェクトは,IResponse インターフェースを介してアクセスされます。このオブジェクトでは,クライアントブラウザに返される HTTP レスポンスメッセージについての情報を指定できます。
IResponse には以下のものが含まれます。
IResponse インターフェースメンバー :
プロパティ,メソッド,またはイベント | 意味 |
---|---|
Cookies プロパティ |
HTTP メッセージ上のすべての Cookie ヘッダーの値を決定する |
Buffer プロパティ |
ページ出力をバッファリングするかどうかを示す。ページ出力をバッファリングするときに,現在のページ上のすべてのサーバースクリプトが処理されるまで,サーバーはクライアントにレスポンスを送信しない |
CacheControl プロパティ |
プロキシサーバーがレスポンス内の出力をキャッシュできるかどうかを決定する |
Charset プロパティ |
Content-Type ヘッダーに文字セットの名前を追加する |
ContentType プロパティ |
レスポンスメッセージ本体の HTTP コンテンツタイプを指定する |
Expires プロパティ |
ブラウザがレスポンスをキャッシュできる期限が切れるまでの期間を指定する |
ExpiresAbsolute プロパティ |
レスポンスが期限切れになる日付と時刻を指定する |
IsClientConnected プロパティ |
クライアントがサーバーから切断されたかどうかを示す |
Pics プロパティ |
レスポンスヘッダーの pics-label 項目の値を設定する |
Status プロパティ |
レスポンスのステータスを示す。これは HTTP ステータスヘッダーの値である |
AddHeader メソッド |
名前と値を指定して HTTP ヘッダーを追加する |
AppendToLog メソッド |
このリクエストの Web サーバーログの末尾に文字列を追加する |
BinaryWrite メソッド |
レスポンスメッセージの本体に生の(解釈されていない)情報を書き込む |
Clear メソッド |
バッファリングされた HTML 出力を消去する |
End メソッド |
.asp ファイルの処理を停止し,現在の結果を返す |
Flush メソッド |
バッファリングされた出力をただちに送信する |
Redirect メソッド |
リダイレクトレスポンスメッセージを送信し,異なる URL にクライアントブラウザをリダイレクトする |
Write メソッド |
現在の HTTP 出力に変数を文字列として書き込む |
セッション
セッションオブジェクトは,ISessionObject インターフェースを介してアクセスされます。このオブジェクトを使用すると,ASP アプリケーションとのクライアントの対話の持続期間のあいだ持続する変数を格納できます。つまり,ASP アプリケーション内のページからページにクライアントが移動してもこの変数は解放されず,クライアントがアプリケーション全体を終了させて初めて解放されます。
ISessionObject には以下のものが含まれます。
ISessionObject インターフェースメンバー :
プロパティ,メソッド,またはイベント | 意味 |
---|---|
Contents プロパティ |
<OBJECT> タグを使ってセッションに追加されたすべてのオブジェクトをリストする。リスト内の変数を名前でアクセスするか,コンテンツオブジェクトの Remove または RemoveAll メソッドを呼び出して値を削除することができる |
StaticObjects プロパティ |
<OBJECT> タグを使ってセッションに追加されたすべてのオブジェクトをリストする |
CodePage プロパティ |
シンボルマッピングに使用するコードページを指定する。ロケールが異なると,使用するコードページが異なる可能性がある |
LCID プロパティ |
文字列コンテンツを解釈するために使用するロケール ID を指定する |
SessionID プロパティ |
現在のクライアントのセッション ID を示す |
TimeOut プロパティ |
アプリケーションが終了するまでクライアントからのリクエスト(または更新)がない状態でセッションが持続する時間を(分単位で)指定する |
Abandon メソッド |
セッションを破棄し,リソースを解放する |
Session_OnEnd イベント |
セッションが中止されるかタイムアウトになったときに発生する。使用可能な組み込みオブジェクトは Application,Server,および Session だけである。このイベントハンドラは VBScript または JScript で作成しなければならない |
Session_OnStart イベント |
サーバーが新規のセッションを作成するときに発生する(Application_OnStart の後,かつ ASP 上のスクリプトを実行する前)。すべての組み込みオブジェクトが使用できる。このイベントハンドラは VBScript または JScript で作成しなければならない |
サーバー
サーバーオブジェクトは,IServer インターフェースを介してアクセスされます。ASP アプリケーションを作成するためのさまざまなユーティリティを提供します。
IServer には以下のものが含まれます。
IServer インターフェースメンバー :
プロパティ,メソッド,またはイベント | 意味 |
---|---|
ScriptTimeOut プロパティ |
セッションオブジェクトの TimeOut プロパティと同じ |
CreateObject メソッド |
指定された Active Server オブジェクトをインスタンス化する |
Execute メソッド |
指定された .asp ファイル内のスクリプトを実行する |
GetLastError メソッド |
エラー状態を説明する ASPError オブジェクトを返す |
HTMLEncode メソッド |
HTML ヘッダーに使用する文字列をコード化し,予約文字を適切な定数シンボルで置き換える |
MapPath メソッド |
指定された仮想パス(現在のサーバー上の絶対パスまたは現在のページに対する相対パス)を物理パスにマップする |
Transfer メソッド |
現在のステート情報のすべてを,別の ASP に送信して処理できるようにする |
URLEncode メソッド |
指定された文字列に(エスケープ文字などの)URL コード化規則を適用する |