httpRuntime 要素 (ASP.NET 設定スキーマ)

ASP.NET アプリケーションの要求の処理方法を決定する ASP.NET HTTP 実行時設定を構成します。

<httpRuntime
   apartmentThreading = "[True|False]"
   appRequestQueueLimit = "number"
   delayNotificationTimeout = "number"
   enable = "[True|False]" 
   enableHeaderChecking = "[True|False]" 
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   encoderType = "name"
   executionTimeout = "number"   
   maxRequestLength = "number" 
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   requestLengthDiskThreshold = "number" 
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "name"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" 
/>

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

説明

apartmentThreading

省略可能な Boolean 属性です。

従来の ASP との互換性を維持するため、アパートメント スレッドを有効にします。

既定値は、False です。

appRequestQueueLimit

省略可能な Int32 型の属性です。

ASP.NET がアプリケーションのためにキューに置く要求の最大数を指定します。 要求を処理するためのフリー スレッドの数が不足している場合、要求はキューに置かれます。 キューに置かれた要求の数がこの属性で指定された上限を超えると、"503 - サーバーがビジー状態です" というエラーが発行され、着信する要求が拒否されます。

既定値は 5000 です。 .NET Framework Version 1.0 および 1.1 では、既定値は 100 です。

delayNotificationTimeout

省略可能な Int32 型の属性です。

遅延通知のタイムアウトを秒単位で指定します。

既定値は 5 です。

enable

省略可能な Boolean 型の属性です。

現在のノードおよび子ノード レベルで、着信要求を受け入れるアプリケーション ドメイン (AppDomain) が有効であるかどうかを指定します。 False の場合、アプリケーションは事実上無効になります。

既定値は、True です。

enableHeaderChecking

省略可能な Boolean 型の属性です。

潜在的な注入攻撃に対して、要求ヘッダーをチェックするかどうかを指定します。 攻撃が検出されると、エラーが返されます。

既定値は、True です。

enableKernelOutputCache

省略可能な Boolean 型の属性です。

出力キャッシュが有効かどうかを指定します。 この属性は、Microsoft Internet Information Services (IIS) 6.0 以降がインストールされている場合だけ適用されます。 出力キャッシュの構成と要求の種類によって、コンテンツをキャッシュできるかどうかが決まります。

応答をキャッシュするには、次の条件を満たす必要があります。

  • ページ ディレクティブによって、またはキャッシュ API を使用することによって、キャッシュが明示的に有効にされる。

  • キャッシュに有効期限ポリシーが設定され、応答を破棄する時期をカーネルが判断できる。

  • キャッシュには変数ヘッダーやパラメーターを指定しない。

  • 認証が不要である。

既定値は、True です。

enableVersionHeader

省略可能な Boolean 型の属性です。

バージョン ヘッダーを出力するかどうかを指定します。 この属性は、使用されている ASP.NET のバージョンを判断するために Microsoft Visual Studio 2005 によって使用されます。 実際に運用するサイトでは不要なため、無効にできます。

メモメモ
この属性は .NET Framework 1.0 では使用できません。

既定値は、True です。

encoderType

HTML エンコードおよび URL エンコードの処理に使用できるカスタムの型の名前を取得または設定します。

ASP.NET は、HTML および URL エンコード作業の既定のハンドラーとして HttpEncoder 型を使用します。 エンコーディングの動作をカスタマイズするには、HttpEncoder 型から継承するクラスを作成できます。 次に、アプリケーションの構成ファイルで、httpRuntime 要素の EncoderType 属性をカスタム型の完全修飾文字列名に設定します。

この属性は .NET Framework Version 4 で新たに追加されました。

executionTimeout

省略可能な Int32 型の属性です。

ASP.NET によって自動的にシャットダウンされるまでに要求を実行できる最大秒数を指定します。

このタイムアウトは、compilation 要素のデバッグ属性が False の場合だけ適用されます。 debug 属性が True である場合、デバッグ中にアプリケーションがシャットダウンされないようにするために、このタイムアウトを大きい値に設定しないでください。

既定値は 110 です。 .NET Framework 1.0 および 1.1 では、既定値は 90 秒です。

maxRequestLength

省略可能な Int32 型の属性です。

入力ストリームのバッファリングしきい値の限界値を KB 単位で指定します。 この限界値は、たとえば大きいファイルをサーバーにポストするユーザーなどにより引き起こされる、サービス拒否攻撃を防止するために使用できます。

既定値は 4096 です。 しきい値を超えると、ConfigurationErrorsException 例外がスローされます。

maxWaitChangeNotification

省略可能な Int32 型の属性です。

最初のファイル変更通知から、新しい要求に対して AppDomain を再起動するまでの最大待機時間 (秒数) を指定します。 この属性は、ファイル コピー プロセスを完了するために必要な時間より大きい値に設定します。 ファイル変更通知は、この属性と waitChangeNotification 属性の値に基づいて結合されます。

既定値は 0 です。

minFreeThreads

省略可能な Int32 型の属性です。

新しい要求を実行できるようにするフリー スレッドの最小数を指定します。 ASP.NET は、追加のスレッドを使用して処理を完了する必要がある要求のために、指定した数のフリー スレッドを予約します。

既定値は 8 です。

minLocalRequestFreeThreads

省略可能な Int32 型の属性です。

新しいローカル要求を実行できるようにするために、ASP.NET で使用可能なフリー スレッドの最小数を指定します。 処理中にローカル ホストに対して子要求が発行される場合に備えて、ローカル ホストから着信する要求のために、指定した数のスレッドが予約されます。 これは、Web サーバーへの再帰的な再入でデッドロックが発生するのを防ぐのに役立ちます。

既定値は 4 です。

requestLengthDiskThreshold

省略可能な Int32 型の属性です。

入力ストリームのバッファリングしきい値の限界値を KB 単位で指定します。 この値は、maxRequestLength 属性を超えないようにします。

既定値は 80 です。

requestValidationMode

省略可能な Int32 型の属性です。

使用する ASP.NET バージョン固有の検証方法を示すバージョン番号を取得または設定します。

このプロパティに割り当てる値は、ASP.NET の特定のバージョンと一致するように検証されていません。 4.0 未満の数値 (たとえば、3.7、2.9、2.0) は、2.0 として解釈されます。 4.0 を超える数値は、4.0 として解釈されます。

既定値は、4.0 です。

requestValidationType

省略可能な String 型の属性です。

HTTP 要求の検証に使用する型の名前を取得または設定します。

ASP.NET 要求の検証の動作をカスタマイズするには、RequestValidator 型から継承するクラスを作成できます。 次に、アプリケーションの構成ファイルで、httpRuntime 要素の requestValidationType 属性をカスタム型の完全修飾文字列名に設定します。

既定値は、ASP.NET が検証に使用する RequestValidator 型の完全修飾名です。

requireRootedSaveAsPath

省略可能な Boolean 型の属性です。

SaveAs メソッドの filename パラメーターが絶対パスでなければならないかどうかを指定します。 ASP.NET プロセスには、指定した場所にファイルを作成するためのアクセス許可が必要です。

既定値は、True です。

sendCacheControlHeader

省略可能な Boolean 型の属性です。

キャッシュ コントロール ヘッダー (既定で Private に設定される) を送信するかどうかを指定します。 True の場合、クライアント側のキャッシュが無効になります。

既定値は、True です。

shutdownTimeout

省略可能な Int32 型の属性です。

ワーカー プロセスがシャットダウンするまでの時間 (秒の値) を指定します。 タイムアウトの時間が経過すると、ASP.NET はワーカー プロセスをシャットダウンします。

既定値は 90 秒です。

useFullyQualifiedRedirectUrl

省略可能な Boolean 型の属性です。

クライアント側のリダイレクトが絶対パス ("https://server/path" 形式、所定のモバイル コントロールで必須) であるか、または相対パスのリダイレクトがクライアントに送信されるかを指定します。 True の場合、絶対パスではないすべてのリダイレクトは、自動的に絶対パス形式に変換されます。

メモメモ
この属性が False に設定されている場合、Cookie なしのセッションにあるページを読み込む際に、ブラウザーにより問題が検出される可能性があります。

既定値は、False です。

waitChangeNotification

省略可能な Int32 型の属性です。

AppDomain を再起動するまでの、次のファイル変更通知の最大待機時間 (秒数) を指定します。 この属性は、2 つのファイル コピー変更通知の更新間隔より大きい値に設定します。 ファイル変更通知は、この属性と maxWaitChangeNotification 属性の値に基づいて結合されます。

既定値は 0 です。

子要素

なし。

親要素

要素

説明

configuration

共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルで必要なルート要素です。

system.web

構成ファイルの ASP.NET 構成設定のルート要素を指定します。ASP.NET Web アプリケーションを構成する構成要素やアプリケーションの動作を制御する構成要素が含まれます。

解説

httpRuntime 要素は、ASP.NET アプリケーションに対する要求の処理方法を決定する ASP.NET HTTP ランタイム設定を構成します。 .NET Framework には、ASP.NET ランタイム ホストを含め、さまざまなランタイム ホストが付属しています。 要求を受信すると、ASP.NET はその要求を処理するプロセスにランタイム設定を読み込みます。 ASP.NET は、Web サーバー上で実行される各 Web アプリケーション用のアプリケーション ドメインも作成します。

既定の構成

httpRuntime 要素は、Machine.config ファイルまたはルート Web.config ファイルで明示的には定義されていません。 ただし、次の設定は、システムが初期化したときの既定値です。 このセクションをカスタマイズする場合、構成ファイルに作成し、カスタマイズが必要な属性のみを定義します。

<httpRuntime 
   executionTimeout="110"
   maxRequestLength="4096"
   requestLengthDiskThreshold="80"
   useFullyQualifiedRedirectUrl="false"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   appRequestQueueLimit="5000"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   requireRootedSaveAsPath="true"
   enable="true"
   shutdownTimeout="90"
   delayNotificationTimeout="5"
   waitChangeNotification="0"
   maxWaitChangeNotification="0"
   requestPriority="Normal"
   enableHeaderChecking="true"
   sendCacheControlHeader="true"
   apartmentThreading="false"
/>

使用例

ASP.NET アプリケーションの HTTP ランタイム パラメーターを指定する方法を次の例に示します。

<configuration>
  <system.web>
  <httpRuntime maxRequestLength="4000"
    enable = "True"
    requestLengthDiskThreshold="512
    useFullyQualifiedRedirectUrl="True"
    executionTimeout="45"
    versionHeader="1.1.4128"/>
  </system.web>
</configuration>

要素情報

構成セクション ハンドラー

HttpRuntimeSection

構成メンバー

HttpRuntime

構成できる場所

Machine.config

ルート レベルの Web.config

アプリケーション レベルの Web.config

仮想ディレクトリ レベルまたは物理ディレクトリ レベルの Web.config

要件

Microsoft Internet Information Services (IIS) 5.0、5.1、または 6.0

.NET Framework 1.0、1.1、2.0

Microsoft Visual Studio 2003 または Visual Studio 2005

参照

参照

system.web 要素 (ASP.NET 設定スキーマ)

configuration 要素 (全般設定スキーマ)

System.Configuration

HttpRuntimeSection

HttpRuntime

概念

ASP.NET ページのキャッシュ

ASP.NET 構成ファイルの階層と継承

ASP.NET 構成の保護

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

ASP.NET Web サイト管理