ASP <asp>

概要

<asp> 要素は、ASP アプリケーションの構成セットを指定します。 これには、デバッグとエラーの戻り値の設定を制御する属性など、開発者向けの構成設定が含まれます。 <asp> 要素には、アプリケーションで使用される文字セット、アプリケーションのスクリプト言語、およびアプリケーションに対してエラー ログが有効かどうかを制御する属性も含まれます。

<asp> 要素には、サイトまたはアプリケーションの COM+、ASP キャッシュ、バッファリング制限、およびセッション状態を構成する要素を含めることもできます。

互換性

バージョン メモ
IIS 10.0 <asp> 要素は IIS 10.0 では変更されませんでした。
IIS 8.5 <asp> 要素は IIS 8.5 では変更されませんでした。
IIS 8.0 <asp> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <asp> 要素は IIS 7.5 では変更されませんでした。
IIS 7.0 <asp> 要素は IIS 7.0 では変更されませんでした。
IIS 6.0 <asp> 要素とその子は、IIS 6.0 IIsWebService オブジェクトの ASP 関連プロパティを置き換えます。

段取り

Web サーバーで ASP アプリケーションをサポートおよび構成するには、ASP モジュールをインストールする必要があります。 ASP モジュールをインストールするには、次の手順に従います。

Windows Server 2012 または Windows Server 2012 R2

  1. タスク バーで [サーバー マネージャー]をクリックします。
  2. [サーバー マネージャー] で、[管理] メニューをクリックし、[役割と機能の追加] をクリックします。
  3. 役割と機能の追加ウィザードで、[次へ] をクリックします。 [インストールの種類] を選択し、[次へ] をクリックします。 対象サーバーを選択し、[次へ] をクリックします。
  4. [サーバーの役割] ページで [Web サーバー (IIS)] を展開し、[Web サーバー][アプリケーション開発][ASP] の順に展開します。
    Screenshot that shows A S P selected for Windows Server 2012.
  5. [Add features that are required by ASP?] (ASP に必要な機能を追加しますか?) ダイアログ ボックスが表示されたら、[機能の追加] をクリックします。 (このページは、ISAPI 拡張機能の役割サービスをサーバーにまだインストールしていない場合にのみ表示されます)。
  6. [サーバーの役割] ページで、[次へ] をクリックします。
  7. [機能の選択] ページで、[次へ] をクリックします。
  8. [インストール オプションの確認] ページで、[インストール] をクリックします。
  9. [結果] ページで、 [閉じる]をクリックします。

Windows 8 または Windows 8.1

  1. [スタート] 画面で、ポインターを左下隅まで移動し、[スタート] ボタンを右クリックし、[コントロール パネル] をクリックします。

  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。

  3. [インターネット インフォメーション サービス][World Wide Web サービス][アプリケーション開発機能] を順に展開して、[ASP] を選択します。
    Screenshot that shows A S P selected for Windows 8.

    Note

    ISAPI 拡張機能ロールがまだインストールされていない場合は、これが選択されます。

  4. OK をクリックします。

  5. 閉じるをクリックします。

Windows Server 2008 または Windows Server 2008 R2

  1. タスク バーで [スタート] をクリックし、[管理ツール] をポイントして、[サーバー マネージャー] をクリックします。
  2. [サーバー マネージャー] 階層ウィンドウで [ロール] を展開し、[Web サーバー (IIS)] をクリックします。
  3. [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] をクリックします。
  4. 役割サービスの追加ウィザード[役割サービスの選択] ページで [ASP] を選択します。
    Screenshot that shows A S P selected for Windows Server 2008.
  5. [Add role services required by ASP] (ASP で必要な役割サービスの追加) ダイアログ ボックスが表示されたら、[必要な役割サービスの追加] をクリックします。 (このページは、ISAPI 拡張機能の役割サービスをサーバーにまだインストールしていない場合にのみ表示されます)。
    Screenshot that shows the Add Role Services dialog box.
  6. [役割サービスの選択] ページで、[次へ] をクリックします。
  7. [インストール オプションの確認] ページで、[インストール] をクリックします。
  8. [結果] ページで、 [閉じる]をクリックします。

Windows Vista または Windows 7

  1. タスク バーで、[スタート][コントロール パネル] の順にクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][World Wide Web サービス][アプリケーション開発機能] の順に展開します。
  4. [ASP] を選択して、[OK] をクリックします。
    Screenshot of the Windows Features dialog box. A S P is selected under the Application Development Features node.

操作方法

サイトまたはアプリケーションの ASP 設定を構成する方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウで、サーバー名を展開して [サイト] を展開し、構成する Web サイトまたは Web アプリケーションに移動します。

  3. サイト、またはアプリケーションの [ホーム] ウィンドウで、[ASP] をダブルクリックします。
    Screenshot that shows the Default Web Site Home pane. A S P is selected.

  4. [ASP] ウィンドウで、必要な設定を構成し、[操作] ウィンドウで [適用] をクリックします。
    Screenshot that shows the A S P pane in the I I S Manager.

構成

ApplicationHost.config ファイルにサーバー レベルで <asp> 要素を構成できます。 ただし、既定では、サイト レベルまたはアプリケーション レベルで <asp> 要素を構成することはできません。

属性

属性 説明
appAllowClientDebug 省略可能な Boolean 属性です。 クライアント側のデバッグを有効にするかどうかを指定します。 既定値は false です。
appAllowDebugging 省略可能な Boolean 属性です。 サーバー側のデバッグを有効にするかどうかを指定します。 既定値は false です。
bufferingOn 省略可能な Boolean 属性です。 ASP アプリケーション出力のバッファリングを有効にするかどうかを指定します。 既定値は true です。
calcLineNumber 省略可能な Boolean 属性です。 エラー レポートに番号を指定するために、実行される各コード行の行番号を ASP が計算して格納するかどうかを指定します。 既定値は true です。
codePage 省略可能な uint 属性。 ASP アプリケーションの既定の文字セットを指定します。 この値は、0 から 2147483647 の範囲の整数です。 たとえば、値 1252 は、既定の文字セットを、アメリカ英語と多くのヨーロッパのアルファベットで使用されるラテン文字セットに設定します。 既定値は 0 です。
enableApplicationRestart 省略可能な Boolean 属性です。 構成設定が変更されるたびに ASP アプリケーションが自動的に再起動されるかどうかを指定します。 既定値は true です。
enableAspHtmlFallback 省略可能な Boolean 属性です。 要求された.asp ファイルと同じ名前の.htm ファイルが存在する場合、それを .asp ファイルの代わりにクライアントに送信するかどうかを指定します。 これは、要求キュー全体が原因で要求が拒否された場合に発生します。 既定値は true です。
enableChunkedEncoding 省略可能な Boolean 属性です。 HTTP 1.1 チャンク転送エンコードを有効にするかどうかを指定します。 既定値は true です。
enableParentPaths 省略可能な Boolean 属性です。 ASP ページが、現在のディレクトリまたはそれより上位のディレクトリへの相対パスを許可するかどうかを指定します。 既定値は false です。
errorsToNTLog 省略可能な Boolean 属性です。 Windows イベント ログへの ASP エラーのログ記録を有効にするかどうかを指定します。 既定値は false です。
exceptionCatchEnable 省略可能な Boolean 属性です。 COM コンポーネントの例外トラップを有効にするかどうかを指定します。 falseに設定すると、Microsoft Script Debugger ツールは、デバッグ中のコンポーネントから送信される例外をキャッチしません。 既定値は true です。
lcid 省略可能な uint 属性。 ASP アプリケーションの既定のロケール識別子を指定します。 この値は、0 から 2147483647 の範囲の整数です。 既定値は 0 です。
logErrorRequests 省略可能な Boolean 属性です。

ASP エラーをクライアント ブラウザーと IIS ログに既定で書き込むかどうかを指定します。

既定値は true です。
runOnEndAnonymously 省略可能な Boolean 属性です。 SessionOnEnd および ApplicationOnEnd グローバル ASP 関数を匿名ユーザーとして実行するかどうかを指定します。 既定値は true です。
scriptErrorMessage 省略可能な文字列属性。 特定のデバッグ エラーがクライアントに送信されない場合にブラウザーに送信されるエラー メッセージを指定します。 既定値は An error occurred on the server when processing the URL. Please contact the system administrator です。
scriptErrorSentToBrowser 省略可能な Boolean 属性です。 デバッグ詳細のクライアント ブラウザーへの書き込みを有効にするかどうかを指定します。 既定値は false です。
scriptLanguage 省略可能な文字列属性。 Web サーバーで実行されているすべての ASP アプリケーションの既定のスクリプト言語を指定します。 既定値は VBScript です。

子要素

要素 説明
cache 省略可能な要素です。

ASP キャッシュ設定を指定します。
comPlus 省略可能な要素です。

COM+ 設定を指定します。
limits 省略可能な要素です。

さまざまな ASP プロパティの制限を指定します。
session 省略可能な要素です。

ASP セッション状態の設定を指定します。

構成サンプル

次の構成例では、Contoso という名前のサイト上の ASP アプリケーションのバッファリングとセッション状態を有効にし、その同じサイトの親パスを無効にします。

<location path="Contoso">
   <system.webServer>
      <asp enableParentPaths="false" bufferingOn="true">
         <session allowSessionState="true" />
      </asp>
   </system.webServer>
</location>

サンプル コード

次のコード例では、Contoso という名前のサイト上の ASP アプリケーションのバッファリングとセッション状態を有効にし、その同じサイトの親パスを無効にします。

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/asp /enableParentPaths:"False" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/asp /bufferingOn:"True" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/asp /session.allowSessionState:"True" /commit:apphost

Note

AppCmd.exe を使用してこれらの設定を構成する場合は、commit パラメーターを必ず apphost に設定する必要があります。 これにより、ApplicationHost.config ファイルの適切な場所セクションに構成設定がコミットされます。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Contoso");
         aspSection["enableParentPaths"] = false;
         aspSection["bufferingOn"] = true;

         ConfigurationElement sessionElement = aspSection.GetChildElement("session");
         sessionElement["allowSessionState"] = true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Contoso")
      aspSection("enableParentPaths") = False
      aspSection("bufferingOn") = True
      Dim sessionElement As ConfigurationElement = aspSection.GetChildElement("session")
      sessionElement("allowSessionState") = True
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Contoso");
aspSection.Properties.Item("enableParentPaths").Value = false;
aspSection.Properties.Item("bufferingOn").Value = true;
var sessionElement = aspSection.ChildElements.Item("session");
sessionElement.Properties.Item("allowSessionState").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Contoso")
aspSection.Properties.Item("enableParentPaths").Value = False
aspSection.Properties.Item("bufferingOn").Value = True
Set sessionElement = aspSection.ChildElements.Item("session")
sessionElement.Properties.Item("allowSessionState").Value = True

adminManager.CommitChanges()