Microsoft Active Server Pages リリース ノート


Active Server Pages (ASP) は、次の Web サーバーに組み込まれる機能です。

また、Windows(R) 95 上でも、Active Server Pages を Microsoft パーソナル Web サーバー Version 1.0 とともにインストールして使用すれば、Internet Information Server 上で動作する ASP アプリケーションを作成できます。

このリリース ノートでは、ASP に関する次のことがらについて説明します。

インストールに関する注意事項
この製品のマニュアルについて
新機能
補足事項
Browscap.ini の管理
メモ帳を使った .Asp ファイルの編集
サーバー サイド インクルードに関する注意事項

インストールに関する注意事項

ここでは、ASP のインストールで注意すべきことがらについて説明します。

最少ディスク容量

ASP の全機能をインストールするためには、20MB 以上の空きディスク容量が必要です。

Microsoft Windows NT および Microsoft Windows 95 の Web サーバー

Microsoft Windows NT または Microsoft Windows 95 が動作しているコンピュータに ASP をインストールする場合は、次のいずれかの Microsoft Web サーバーが既にインストールされていることが必要です。

ASP のインストール前に ODBC を使用しているアプリケーションやサービスを停止する

ASP をインストールする前に、Microsoft SQL Server や Microsoft Access など、ODBC を使用している可能性のあるアプリケーションやサービスをすべて停止してください。

Windows NT バックアップ ドメイン コントローラ上への ASP のインストール

Microsoft Windows NT Server のセットアップ時に、Windows NT の一部として Microsoft Internet Information Server をインストールし、コンピュータをバックアップ ドメイン コントローラにした場合は、ASP のインストール時にエラー メッセージが表示されます。この場合 ASP をインストールするには次の手順を実行してください。

  1. [Microsoft インターネット サーバー (共通)] プログラム グループから [Active Server Pages 削除] を選択し、ASP を削除します。
  2. IIS を再インストールします。
  3. ASP を再インストールします。

Microsoft VM for Java のインストール

ASP は、Java で記述されたサーバー コンポーネントをサポートしています。Java サーバー コンポーネントを実行するためには、最初に Web サーバー上に Microsoft VM for Java(TM) をインストールしておく必要があります。VM は、次のリンクをクリックして www.microsoft.com からダウンロードできます。

Database Access コンポーネント インクルード ファイル

インクルード ファイル Adovbs.inc (VBScript 対応) および Adojavas.inc (JScript 対応) の中で定義されている ADO 定数を使う場合は、Adventure Works というサンプル サイトを必ずインストールしてください。これらのファイルは Aspsamp\Samples ディレクトリにあります。Aspsamp\Samples ディレクトリはデフォルトで \Inetpub ディレクトリの下にインストールされます。

この製品のマニュアルについて

Active Server Pages のマニュアルは HTML 形式のファイルで、製品といっしょにインストールされます。Active Server Pages をインストールした後、Web サーバーのプログラム グループから [Active Server Pages ロードマップ] をクリックすると、マニュアルを参照することができます。このロードマップからは Adventure Works というサンプル Web サイトも表示できます。このサイトは、Active Server Pages の多彩なスクリプト機能を紹介するサンプル コードの例です。ロードマップは、アドレス「http://yourserver/iasdocs/aspdocs/roadmap.asp」を入力して表示することもできます。

もし インターネット エクスプローラ を使用しているにも関わらず、OCX のダウンロードが正常に終了しない場合は、マニュアルでインストールを行うか、アドレス「http://yourserver/iasdocs/aspdocs/ipcon.htm または ipmain.htm」を入力してロードマップの目次を表示することもできます。

ロードマップの内容を見るためには、インターネット エクスプローラ Version 3.0 以降、またはフレーム機能をサポートしているブラウザが必要です。最も良好な表示結果を得るためにはインターネット エクスプローラを使うことを推奨します。

新機能

このリリースの Active Server Pages は、複数言語とクライアントからサーバーへのファイルの送信をサポートしています。ここではこれらの新機能について説明します。

複数言語の Web サイト

ASP は ASP スクリプトのコード ページを指定するコマンドをサポートしています。コード ページの指定は、日本語と英語の両方の HTML 文書を含んでいるサイトのように、複数の言語のファイルを含んでいる一般的な Web サイトで使われています。コード ページはオペレーティング システムが、文字、数字、区切り記号文字などのシンボルを文字コードにマップするのに使う内部テーブルです。それぞれのコード ページはその国で使われる文字セットをサポートします。コード ページは数字で参照されます。たとえば、コード ページ 932 は日本語を意味し、コード ページ 950 は中国語/台湾を意味します。

Windows NT は内部で 16 ビット固定幅文字エンコード標準の Unicode を使用します。Windows NT はもちろんアプリケーションもコード ページを使えるように作成できます。また、クライアントが要求する Web ページにもコード ページを指定できます。 Web サイトが NT コンピュータのデフォルトの言語のファイルを含んでいて、Web ブラウザが Web サイトと同じコード ページで交信してきた場合、通常、スクリプト中にコード ページを指定する必要はありません。しかし、Web サイトが複数の言語のファイルを含んでいる場合、ActiveX コンポーネントや他のアプリケーションがデータを正しく理解できるようにスクリプト中にコード ページを指定する必要があります。これはコンポーネントがマルチバイト文字列を操作するのに非常に重要です。

ASP には、どのコード ページを使用するかを決める新しいセッション プロパティ Session.CodePage があります。Session.CodePage の値には、システムで利用できるコード ページのコード ページ ID でなければいけません。Session.CodePage の値を存在しないコード ページ ID に設定するとエラーが返されます。Session.CodePage のデフォルト値は、システムのデフォルト ANSI コード ページであるCP_ACP です。

Session.CodePage プロパティは、CODEPAGE スクリプト タグに記述する方法と、CodePage プロパティを設定する方法の 2 種類で設定できます。

スクリプト中の Session.CodePage の値は変更できます。これは、スクリプトが異なる文字セットでの入力を受け付ける場合に便利です。スクリプト中の Session.CodePage の値を変更した場合、不正な文字セットでコンテンツを送信することに注意してください。CODEPAGE タグは ASP が HTML テキストとスクリプト コマンドをスクリプト インタプリタに提示する時に、どのコード ページを使用するかを決定します。Session.CodePage はスクリプト インタプリタがコマンドを実行するときに使用するコード ページを決定します。使用しているインターネットが一時的にコード ページを変更している場合、Session.CodePage をオリジナルの値に再設定しなければなりません。

次のスクリプトは一時的なコード ページの変更方法について示しています。:

<!-- Welcome to my home page in Japanese, code page 932 --!>
<% @ CodePage = 932 %>
...
<% Session("OriginalCodePage") = Session.CodePage %>
<!-- Look up name in Chinese, code page 950 --!>
<% Session.CodePage = 950 %>
<% Sender = ReadMailHeader("Sender") %>
<% Found = FindFriend("Sender") %>
<!-- Restore the original code page --!>
<% Session.CodePage =  Session("OriginalCodePage") %>
<% if Found == TRUE 
	ReplyWithPersonalizedForm()
     else
	ReplyWithBusinessForm()
%>

ブラウザからのファイルの受信

ASP はブラウザからの POST 要求の一部として raw データの受信を新しくサポートします。これによりブラウザからサーバーへファイルを送信できるようになります。ActiveX コンポーネントか ASP スクリプトを使用してデータを操作できます。スクリプト言語はバイト配列の操作をサポートしていなければなりません。JScript も VBScript もこの機能がないことに注意してください。

Request.BinaryRead

BinaryRead メソッドはクライアントから POST 要求の一部としてサーバーに送信されたデータを読み込みます。このメソッドはクライアントからのデータを読み込み、SafeArray にデータを蓄積します。

構文

variant = Request.BinaryRead(count)

パラメータ

variant

BinaryRead が制御を返す時、この変数は符号なしバイトの配列になります。つまり variant は VT_ARRAY | VT_UI1 型です。

count

BinaryRead を実行する前に、 count にはクライアントから何バイト読み込むかを符号なし整数で指定します。BinaryRead から制御が返された後には、count にはクライアントから読み込みに成功したバイト数が代入されます。実際に読み込まれた総バイト数は、Request.TotalBytes 以下になります。

解説

BinaryRead はクライアントからの POST 要求の一部として送信された raw データを読み込むのに使用します。このメソッドは POST 要求で送信したフォーム データを見る Request.Form コレクションの例とは対照的に、低レベル アクセスに使用します。一度 BinaryRead を呼び出すと、Request.Form コレクションのどの変数への参照もエラーになります。逆に、一度 Request.Form コレクションの変数を参照し、BinaryWrite を呼び出すとエラーになります。Request コレクションの変数に、これに属するサブコレクションを指定しないでアクセスすると、Request.Form コレクションを探すという規則を強制することを覚えておいてください。

参照

Request.TotalBytes

このプロパティはクライアントが送信する要求の本体の総バイト数を指定します。

構文

counter = Request.TotalBytes

解説

このプロパティは読み取り専用です。

参照

補足事項

ここでは、ASP のマニュアルの補足事項について説明します。

NTFS を利用して .Asp ファイルへのアクセスを禁止する方法

NTFS を使用していて .asp ファイルへのアクセスを禁止したい場合は、次の手順を実行してください。

  1. アクセスを禁止するファイルで、[ファイル] を選択します。
  2. [プロパティ] をクリックします。
  3. [セキュリティ] タブをクリックします。
  4. [アクセス権] をクリックします。
  5. [アクセス権の種類] ウィンドウで、[アクセス権なし] を選択します。

注意   上記の手順 5. で [特殊なアクセス権] を選択する場合は、必ず [読み取り] アクセス権を無効にしてください。

NTFS によるアプリケーションの保護

ASP アプリケーションを完全に保護するため、適切なユーザーまたはグループに対して、アプリケーションの Global.asa ファイルに対する NTFS ファイルのアクセス権を設定してください。ブラウザに情報を返すコマンドが Global.asa ファイルに含まれている場合、Global.asa が保護されていないと、アプリケーションのほかのファイルが保護されていてもコマンドによって情報がブラウザに返されます。

ASP での Secure Sockets Layer の使用

ここでは、ASP で SSL (Secure Sockets Layer) を使うときの注意事項について説明します。

ファイルの追加

保護されていない仮想ルート内にあるファイルを、SSL が有効にされている仮想ルート内に追加しても、そのファイルには SSL が適用されません。このため、SSL を有効にするには、元のファイルだけでなく追加するファイルも SSL が有効な仮想ルートに置いておくようにしてください。

クライアント認証

SSL クライアント認証を使用している場合は、認証処理の中で次の一連の処理が行われることに注意してください。

  1. ブラウザは該当するファイルの HTTP 要求を送信する。
  2. クライアントが有効な許可証を持っていない場合、管理操作によって許可証が必須となるように設定されていれば、その時点でアクセスは拒否され、認証処理は終了する。クライアントが有効な許可証をもっていれば、SSL 接続が確立され、認証処理が続けられる。
  3. Web サーバーは HTTP ログオン認証処理とアクセス制御のチェックを実行する。
  4. ログオンとアクセス制御のチェックが正常に完了すれば、Web サーバーはファイルを処理し、それをブラウザに送信する。

セッション付き仮想ルートの名前付けの制限

複数のセッションを使用する際、仮想ルートの名前がそれとは別の仮想ルート名で始まっていて、かつその名前を完全に含んでいる場合、仮想ルートに常駐しているアプリケーションのセッションごとの状態が不正になることがあります。たとえば、/root1 という仮想ルート名は、/root という名前で始まり、かつそれを完全に含んでいるため、そのような名前のルートを使用するとセッション状態が不正になる可能性があります。これを避けるには、必ずすべての仮想ルート名がほかの仮想ルート名で始まらず、かつほかの仮想ルート名を含まないようにしてください。

Microsoft SQL Server でのセッションスコープ オブジェクトの使用

ASP でデータベースとして Microsoft Access (.mdb) ファイルをまったく使用せず、Microsoft SQL Server だけを使用していて、Database Access コンポーネントのインスタンスを作成してそれを Session オブジェクト内に格納する場合、レジストリ内でDatabase Access コンポーネントのスレッド モデルの設定を Apartment から Both に変更することで、パフォーマンスを向上させることができます。これを行うには、\Program Files\Common Files\System\Ado フォルダにある Makefree.bat というファイルをダブルクリックしてください。

この設定を元に戻す場合 (スレッド モデルの設定を Both から Apartment に戻す場合) は、\Program Files\Common Files\System\Ado フォルダにある Makeapt.reg というファイルをダブルクリックしてください。

注意   Database Access コンポーネントのインスタンスは、できるだけ Session オブジェクト内に格納しないようにしてください。Web ベースのデータベース接続の適切な処理方法の詳細については、「コンポーネント リファレンス」の「接続プール」を参照してください。

接続プール

ここでは、接続プールに関することがらについて説明します。

接続プールはデフォルトで無効にされている

コンポーネント リファレンス」の「接続プール」の記述で、「ASP では接続プールがデフォルトで有効にされている」とあるのは誤りで、デフォルトでは無効にされています。接続プールはレジストリ エントリ StartConnectionPool1 に設定することで有効にできます。詳細については、「スクリプト ガイド」の「レジストリ エントリの設定」を参照してください。

接続プールと Microsoft Access

Microsoft Access を接続プールを有効にして使用する場合、Microsoft Windows NT Service Pack 2 (SP2) 以降をインストールしないと、IIS のシャットダウン時にシステム エラーが発生することがあります。このため、Microsoft Access を使用していて SP2 以降をインストールしていない場合は、接続プールを有効にしないでください。

接続プールと Microsoft SQL Server

SP2 以降をインストールしている場合、または ASP でデータベースとして Microsoft Access (.mdb) ファイルをまったく使用せず、Microsoft SQL Server だけを使用している場合は、接続プールを有効にするとパフォーマンスが向上します。接続プールはレジストリ エントリ StartConnectionPool1 に設定することで有効にできます。詳細については、「スクリプト ガイド」の「レジストリ エントリの設定」を参照してください。

"Both" としてマークされていない格納オブジェクトの ASP における扱い

スクリプト ガイド」の「パフォーマンスに関する問題」で、Session オブジェクトおよび Application オブジェクトにオブジェクトを格納するときの次の記述に誤りがあります。

...格納するオブジェクトが "both" としてマークされていないかぎり、ASP は、このオブジェクトが格納されているアプリケーションやセッションを "単一スレッド" として扱います。

正しい文章を次に示します。

...格納するオブジェクトが "both" としてマークされていないかぎり、ASP は、このオブジェクトが格納されているアプリケーションやセッションを "分離スレッド" として扱います。

CheckForNestedVroots を無効にすることによりパフォーマンスを向上させる

デフォルトでは、ASP は新しい仮想ルートがほかの仮想ルートにネストされていないかどうかを、すべての要求ごとに調べます。このチェック処理はパフォーマンス低下の原因になっていますが、システムが安定している状態 (新しい仮想ルートを作成していない状態) で動作している場合には、レジストリ エントリ CheckForNestedVroots を 0 に設定することで、サーバーのパフォーマンスが向上します。ただし、このレジストリ エントリを 0 に設定すると、システムは Global.asa ファイルをチェックしないで動作するようになり、その結果ネストされた仮想ルートが作成されることになります。詳細については、「スクリプト ガイド」の「レジストリ エントリの設定」を参照してください。

仮想メモリの不足

過負荷状態の Web サーバーで ASP を実行した場合、ASP に割り当てられる仮想メモリが不足してしまうことがあります。このメモリ割り当てはレジストリ エントリ MemFreeFactor の設定によって決まります。デフォルトでは MemFreeFactor は 50 に設定されています。

この値を 0 にすると、Active Server Pages 用のキャッシュ メモリが確保されなくなります。この場合、比較的短時間の使用で仮想メモリ不足の状態になる可能性が高くなります。この値を 100 以上にすると、それに応じて ASP 用のキャッシュ メモリが確保されるため、仮想メモリが不足する可能性は低くなりますが、ほかのアプリケーションが使用できるメモリの量がその分少なくなります。

Web サーバーを .Asp ファイル処理専用として使用している場合に仮想メモリが不足するようであれば、この MemFreeFactor の値を 100 以上に増やすことをお勧めします。

一方、Web サーバーでの .Asp ファイルの処理に伴う負荷がそれほど重くなく、ほかのアプリケーション用のメモリをキャッシュ用に割り当てたくない場合には、この MemFreeFactor の値は変更しないでください。

詳細については、「スクリプト ガイド」の「レジストリ エントリの設定」を参照してください。

Global.asa に関する問題

ここでは、Global.asa に関連することがらについて説明します。

Global.asa は必ず仮想ルート内に置かなければならない

スクリプト ガイド」および「Global.asa リファレンス」の「Global.asa ファイルの使用」で、Global.asa ファイルは ASP 対応アプリケーションのルート ディレクトリ内に置かなければならないと説明していますが、さらにこのルートは仮想ルートでなければなりません。

Global.asa によって追加されたファイルの更新

Global.asa によって追加されたファイルが更新されても、セッションは再開されません。したがって、Application オブジェクトに格納されたオブジェクトはリセットされません。セッションを再開するには、Global.asa ファイルを保存してください。

コンポーネントの登録

Windows NT Server および Windows NT Workstation でのコンポーネントの登録で問題が発生した場合は、正しくないバージョンの Regsvr32 を使用している可能性があります。デフォルトで C:\Winnt\System32\Inetsrv\ASP\Cmpnts にインストールされる正しいバージョンの Regsvr32 を使用してください。

Response.BinaryWrite を使用しているサーバー コンポーネントの再コンパイル

Response.BinaryWrite は、パラメータとして SafeArray を指すポインタではなく、バリアント型 VT_ARRAY|VT_UI1 を必要とするようになりました。このため、Response.BinaryWrite を使用している既存の ActiveX サーバー コンポーネントについては、新しいヘッダー ファイルを使って再コンパイルする必要があります。詳細については、「ASP 対応コンポーネントの作成」の「IResponse::BinaryWrite」を参照してください。

注意   Response.BinaryWrite を使用しないコンポーネントについてはこの変更の影響はないため、再コンパイルの必要はありません。

GetThreadToken の OpenThreadToken への変更

Creating Components for ASP」の「Security」の説明では、 メソッド名が GetThreadToken となっています。正しいメソッド名は OpenThreadTokenです。

Server.MapPath と相対パスの構文

オブジェクト リファレンス」の「MapPath」の注意の記述に誤りがあります。

注意   レジストリ エントリ EnableParentPath が TRUE に設定されている場合は、パラメータ path に ../../Scripts/ などの相対パスを指定できます。これはデフォルトの設定です。
現バージョンでは、Server.MapPath メソッドで . または .. の相対パスの構文を使うことはできません。たとえば、次のようなスクリプト コマンドは正常に動作しません。

<%= Server.MapPath("../MyDir/MyFile.txt") %>

サーバー変数 SCRIPT_MAP は使用できない

オブジェクト リファレンス」の「ServerVariables」で、「サーバー変数 SCRIPT_MAP を Request オブジェクトとともに使用して、URL のベース部分を取得することができる」という記述がありますが、この変数はサポートされなくなりました。URL のベース部分を取得する場合は URL 変数を使ってください。

URL の大文字/小文字を区別するブラウザのセッション状態への影響

URL の大文字/小文字を区別しないブラウザは、 Active Server Pages のセッション ID が付いた cookie の記憶と送信に影響を与えます。Active Server Pages は URL で指定された仮想ルートをチェックし、ASP アプリケーションを要求するかどうかを決定します。ASP では、仮想ディレクトリ /ADVWORKS と /advworks は同じ ASP アプリケーションです。Netscape のような URL の大文字/小文字を区別するブラウザでは /ADVWORKS と /advworks は別のアプリケーションになります。2 つの URL が同じアプリケーションを大文字/小文字を違えて要求した場合、これらのブラウザは cookie 内のパス大文字/小文字が異なるため最初の要求で記憶された cookie を送信できません。これらのブラウザで ASP が正しく動作するように、すべての URL の大文字/小文字を ASP ファイルと同じにしてください。たとえば、同じ ASP ファイルを要求するのに http://advworks/equip.asp と http://ADVWORKS/equip.asp の両方を混在して使わないでください。

ScriptFileCacheTTL レジストリ エントリ

スクリプト ガイド」の 「レジストリ エントリの設定」に ScriptFileCacheTTL というエントリ名がありますが、このエントリは存在しませんので注意してください。

Microsoft Windows 95 での Microsoft Index Server の使用

Windows 95 では、Microsoft Index Server は使用できません。このため、Windows 95 で ASP ロードマップの [検索] ボタンをクリックするとエラー メッセージが表示されます。

不明なスクリプト言語によるエラー

レジストリ エントリ DefaultScriptLanguage の値として不明なスクリプト言語を指定すると、次のエラー メッセージが表示されることがあります。

HTTP/1.0 500 サーバー エラー
このエラーが出た場合は、レジストリ エントリ DefaultScriptLanguage の値を調べ、無効な言語を指定していないかどうか確認してください。

Microsoft JScript の使用

ASP ファイルで JavaScript を使う場合は、<SCRIPT> タグの言語属性として "JScript" を指定してください。"JavaScript" は下位互換としてサポートされているため、ラベル "JScript" の行とラベル "JavaScript" の行とをいっしょに指定するとエラーになります。

掲示板コントロール NCompass

掲示板コントロール NCompass は Intel プロセッサ用だけが付属しています。このリリースでは Alpha および PowerPC の各プロセッサ用のコントロールは付属していません。

Database Access コンポーネントに関する問題

最適なパフォーマンスと信頼性を確保するため、製品レベルの Web アプリケーションの導入にはできるだけ Microsoft SQL Server を使用してください。Active Server Pages は SQL Server 以外の ODBC 準拠のデータベースでも動作しますが、この製品は Microsoft SQL Server との併用を前提として開発されており、その環境下で十分な動作試験がなされています。また、ASP は有効なデータ ソースとして Microsoft Access をサポートしています。今回のリリースに付属している Web サイトのサンプルやコード例では Microsoft Access が使われていますが、開発のみを行い製品化を行わない場合には、Microsoft Access を単独で使用するようにしてください。Microsoft Access はシングルユーザー用のデスクトップ データベースとして開発されたものであり、サーバー用に開発されたものではありません。Microsoft Access のデータベースに対して複数のユーザーが同時に要求を行った場合には、予期しない結果を招くことがあります。

Windows 95 パーソナル Web サーバー上で、Database Access component (ADO) を使って複数の要求を処理しようとした場合、システムが応答しなくなることがあります。この現象は、現在リリースされている Windows 95 の OLE に関する既知の問題によるものです。この問題を解決するには、http://www.microsoft.com/oledev/olemkt/oledcom/dcom95.htm から最新版の DCOM for Windows 95 をダウンロードしてインストールしてください。

データベースのレコードを削除したときに、動的カーソルが失われることがあり、さらにカーソルを動かそうとすると予期しない結果を招くことがあります。データベース内のカーソルの位置を設定するには、MoveFirst メソッドを使って 1 番目のレコードに戻ってから、カーソルの位置を再設定してください。

レコードセット内のある行を削除した後に、その同じ行を更新しようとして失敗することがあります。現在のレコードセットで以前に削除した可能性のある行を更新しなければならない場合は、そのレコードセットをいったん閉じてから再度データのクエリーを実行して、すべての行を可視にしてください。

データベース内の列の値として、Null データが格納されることがあります。このデータに対応する Visual Basic のデータ型は Empty ですが、このデータ型は空文字列に相当するものであり、したがって Null 値にアクセスして出力しようとしても何も表示されません。Null 値に対応する文字列を出力するには、次の例のようなステートメントを使ってください。

<% If IsNull(RScatalog_item("ProductSize")) Then  
       Response.Write("ProductSize" & "is Null") %>

Microsoft Access ODBC ドライバを使用しているときは、RecordSet オブジェクトの MaxRecords プロパティの設定によって、返されるレコードの数が制限されることはありません。

Microsoft Access データベースにおいて、データベースに対して重複が設定されていると、RecordSet オブジェクトを使って AddNew メソッドでレコードを挿入しようとしても失敗します。これを解決するには、RecordSet を操作するときに、SELECT ステートメントで新しい値を挿入する必要のあるフィールドだけを追加してください。

プロセス外コンポーネントの使用

プロセス外コンポーネント (ASP とは異なるプロセスで実行される Microsoft Excel などの OLE コンポーネント) は、デフォルトで使用不能にされています。プロセス外コンポーネントはできるだけ使用しないでください。これは、プロセス外コンポーネントを使用した場合、コンポーネントの元のユーザーのセキュリティ コンテキストを次のユーザーが継承することが可能になるためです。また、プロセス外コンポーネントの使用によってパフォーマンスに悪影響が出ることもあります。しかし、適切なレジストリ エントリ (AllowOutOfProcCmpnts) を 0 から 1 に変更することで、プロセス外コンポーネントを使用可能にすることができます。詳細については、「スクリプト ガイド」の「レジストリ エントリの設定」を参照してください。

プロセス外コンポーネントを使用する場合は、その使用方法について十分理解しておくことが必要です。たとえば、コンポーネントの実行環境を識別するための特殊な設定を行うために、DCOM 設定 (dcomcnfg.exe) を使う必要があります。この設定を行うことにより、異なるユーザーが互いのセキュリティ コンテキストを継承することによって発生する問題を防ぐことができます。プロセス外コンポーネントの詳細については、「Microsoft Win32 ソフトウェア開発キット」のマニュアルを参照してください。コンポーネント識別のための設定方法については、『OLE プログラマーズ リファレンス』を参照してください。

Browscap.ini の管理

Browscap.ini ファイルには、Browser Capabilities コンポーネントを使ってスクリプトから調べることのできるブラウザのプロパティ定義が列挙されています。このファイルはブラウザのバージョンや機能が変更されると更新されます。また、「Active Server Pages コンポーネント リファレンス」に記述されていないプロパティがこのファイルに含まれることもあります。たとえば、今回リリースされた Active Server Pages に付属している Browscap.ini には、Javaapplets という新しいプロパティが含まれています。このプロパティは、ブラウザが Java アプレットをサポートしているかどうかを示すものです。

Browscap.ini は、デフォルトで \Winnt\system32\inetsrv\ASP\Cmpnts にインストールされます。最新版の browscap.ini については http://www.microsoft.com/iis にアクセスしてください。

メモ帳を使った .Asp ファイルの編集

メモ帳を使って .asp ファイルを作成するときは、次の点に注意してください。[上書き保存] または [名前を付けて保存] ダイアログ ボックスで、[ファイルの種類] ボックスに [テキスト (*.txt)] が表示されていると、[ファイル名] ボックスにどのような種類のファイルが表示されていても、ファイル名拡張子に .txt が追加されます。たとえば、[ファイル名] ボックスに「Myfile.asp」と入力した場合、実際に保存されるテキスト ファイルの名前は Myfile.Asp.txt となってしまいます。これを解決するには、[ファイルの種類] ボックスで [すべてのファイル (*.*)] を選択するか、またはファイルを保存する前にファイル名を引用符で囲んでください。

サーバー サイド インクルードに関する注意事項

ここでは、サーバー サイド インクルード (SSI) に関する問題について説明します。

SSI Support

今回リリースされた Internet Information Server および Peer Web Services には、SSI 構文の拡張機能が組み込まれています。SSI の詳細については、Web ブラウザを使い、SSI のマニュアルである http://yourserver/iasdocs/aspdocs/ssi/isiall.htm を参照してください。

注意   Windows 95 上のパーソナル Web サーバーでは、SSI の新しい拡張機能はサポートされていません。

変更されたインクルード ファイルの反映

インクルード ファイルに変更を加えた場合、そのインクルード ファイルが仮想ルート内またはそのサブディレクトリ内にあれば、ブラウザがそのファイルを要求したときに、ブラウザへの出力に変更内容が自動的に反映されます。インクルード ファイルが仮想ルートやそのサブディレクトリ以外の場所にある場合は、Web サーバーの WWW サービスが再開されないかぎり、変更内容はブラウザへの出力に反映されません。

(C) 1996-1997 Microsoft Corporation. All rights reserved.