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 = "string"
   executionTimeout = "number" 
   maxQueryStringLength = "number"
   maxRequestLength = "number" 
   maxUrlLength = "number"
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   relaxedUrlToFileSystemMapping = "[True|False]"
   requestLengthDiskThreshold = "number" 
   requestPathInvalidCharacters = "string"
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "string"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   targetFramework = "number"   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" />

属性および要素

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

属性

属性

Description

apartmentThreading

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

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

既定値は、False です。

appRequestQueueLimit

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

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

既定値は 5000 です。

delayNotificationTimeout

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

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

既定値は 5 秒です。

encoderType

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

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

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

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 によって使用されます。 実際に運用するサイトでは不要なため、無効にできます。

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

既定値は、True です。

executionTimeout

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

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

デバッグをのみの属性の場合、このタイムアウトを適用、 compilationですFalse 。 したがって場合は、 debug属性がTrue 、デバッグ中にアプリケーションのシャット ダウンを回避するには、大きな値をこの属性を設定する必要はありません。

既定値は 110 秒です。

maxRequestLength

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

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

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

maxWaitChangeNotification

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

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

既定値は、0 です。

minFreeThreads

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

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

既定値は、8 です。

minLocalRequestFreeThreads

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

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

既定値は、4 です。

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 型から継承するクラスを作成できます。 アプリケーションの構成ファイルには、[設定、 requestValidationType属性、 httpRuntime要素、カスタムの型の名前を完全修飾する

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

requestLengthDiskThreshold

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

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

既定値は、80 KB です。

requireRootedSaveAsPath

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

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

既定値は、True です。

sendCacheControlHeader

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

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

既定値は、True です。

shutdownTimeout

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

ワーカー プロセスに与えられたシャットダウンするまでの時間を分単位で指定します。 タイムアウトの時間が経過すると、ASP.NET がワーカー プロセスをシャットダウンします。

既定値は 90 秒です。

targetFramework

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

共通言語ランタイム (CLR) のバージョンに固有のフレームワークを使用することを示します。 バージョン番号を指定します。 この属性を省略した場合は、ターゲット フレームワーク 4.0 に設定されています。

既定値は、Null です。

useFullyQualifiedRedirectUrl

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

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

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

既定値は、False です。

waitChangeNotification

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

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

既定値は、0 秒です。

maxQueryStringLength

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

クエリ文字列の最大長 (文字数)。 既定値は 2048 です。

MaxQueryStringLength プロパティは、ゼロ以上の任意の整数に設定できます。 サイズの制限、ASP にクエリ文字列の長さを超えている場合。NET を返します、 HTTP 400 (無効な要求) のステータス コード。

NoteNote
非常に小さな値は、Web サイトを使用できなくすることがあります。
NoteNote
また、クエリ文字列の長さを制御する、IIS の設定です。参照してください、 maxQueryStringの属性を要求上限 <requestLimits>

maxUrlLength

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

URL に文字数の最大長。 既定値は 260 です。

MaxUrlLength プロパティは、ゼロ以上の任意の整数に設定できます。

要求 URL の長さ (これは、Path プロパティの値です) が構成されたサイズ制限を超えている場合は、ASP.NET は HTTP 400 (不正な要求) ステータス コードを返します

NoteNote
非常に小さな値は、Web サイトを使用できなくすることがあります。また、クエリ文字列の長さを制御する、IIS の設定です。参照してください、 maxQueryStringの属性を要求上限 <requestLimits>

relaxedUrlToFileSystemMapping

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

HTTP 要求内の URL が有効な Windows ファイルのパスを指定する必要がかどうかを示します。

RelaxedUrlToFileSystemMapping プロパティは、着信 HTTP 要求に含まれる URL を検証する方法を決定します。 このプロパティが false の場合、URL は、Windows ファイル システム パスが有効かどうかが判断されるのと同じ規則を使用して検証されます。

requestPathInvalidCharacters

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

要求のパスに無効な文字のコンマ区切りリスト。 既定のセットで無効とされる文字を次に示します。

<,>,*,%,&,:,\

子要素

なし。

親要素

要素

Description

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 
   apartmentThreading="false"
   appRequestQueueLimit="5000"
   delayNotificationTimeout="5"
   enable="true"
   enableHeaderChecking="true"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   encoderType = "System.Web.Util.HttpEncoder"
   executionTimeout="110"
   maxQueryStringLength = "2048"
   maxRequestLength="4096"
   maxUrlLength = "260"
   maxWaitChangeNotification="0"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   relaxedUrlToFileSystemMapping = "False"
   requestLengthDiskThreshold="80"
   requestPathInvalidCharacters = "<,>,*,%,&,:,\"
   requestValidationMode = "4.0"
   requestValidationType = "System.Web.Util.RequestValidator"
   requireRootedSaveAsPath="true"
   sendCacheControlHeader="true"
   shutdownTimeout="90"
   useFullyQualifiedRedirectUrl="false"
   waitChangeNotification="0" />

使用例

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 インターネット インフォメーション サービス (IIS) 5.0 以降

参照

Reference

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

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

System.Configuration

HttpRuntimeSection

HttpRuntime

概念

Securing Configuration

その他の技術情報

全般構成設定 (ASP.NET)

Configuring ASP.NET Applications