ProcessModelSection クラス

IIS を実行している Web サーバーで ASP.NET プロセス モデルの設定を構成します。

構文

class ProcessModelSection : ConfigurationSection  

メソッド

次の表に、ProcessModelSection クラスによって公開されるメソッドの一覧を示します。

名前 説明
GetAllowDefinition (ConfigurationSection から継承。)
GetAllowLocation (ConfigurationSection から継承。)
RevertToParent (ConfigurationSection から継承。)
SetAllowDefinition (ConfigurationSection から継承。)
SetAllowLocation (ConfigurationSection から継承。)

プロパティ

次の表は、ProcessModelSection クラスによって公開されるプロパティの一覧です。

名前 説明
AutoConfig 読み取り/書き込みの boolean 値。 コンピューターの構成に基づく最適なパフォーマンスを実現するために、ASP.NET が特定の属性を自動的に構成する場合は true。ASP.NET が明示的に定義された属性の値を使用する場合は false。 既定値は、false です。 構成される属性は、後述の「注釈」セクションに示します。 注: これらの属性は、.NET Framework クライアント アプリケーションではなく、ASP.NET アプリケーションにのみ影響します。 注: Machine.config ファイルのこのプロパティの既定値は true であり、下位の構成ファイルの設定をオーバーライドします。 Machine.config から autoConfig エントリを削除すると、既定値は false に戻ります。
ClientConnectedCheck クライアントが接続されているかどうかを ASP.NET がチェックするまでに要求がキューに残っている時間を指定する、読み取り/書き込みの datetime 値。 既定値は 5 秒です。
ComAuthenticationLevel DCOM セキュリティの認証レベルを指定する、読み取り/書き込みの sint32 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。
ComImpersonationLevel COM セキュリティの認証レベルを指定する、読み取り/書き込みの sint32 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。
CpuMask マルチプロセッサ サーバー上のどのプロセッサ (CPU) に ASP.NET プロセスを実行する資格を与えるかを指定する、読み取り/書き込みの sint32 値。 既定値は 0xffffffff です。

この値によって、ASP.NET スレッドを実行する資格のある CPU を示すビット パターンを指定します。 たとえば、0x0d という 16 進値は、1101 というビット パターンを表します。 4 つの CPU が搭載されているコンピューターの場合、これは CPU 1 を除く CPU 0、CPU 2、CPU 3 で ASP.NET プロセスをスケジューリングできることを示しています。 ASP.NET は、資格のある 1 つの CPU につき 1 つのワーカー プロセスを開始します。 WebGarden プロパティが true の場合、CpuMask によってワーカー プロセスの数が資格のある CPU の数に制限されます。 ワーカー プロセスの最大数は、CPU の数と同じです。 WebGarden プロパティが false (既定値) の場合、CpuMask は無視され、1 つのワーカー プロセスだけが実行されます。
Enable 読み取り/書き込みの boolean 値。 プロセス モデルを有効にする場合は true。それ以外の場合は false。 既定値は、true です。
IdleTimeout ASP.NET が自動的にワーカー プロセスを終了するまでのアイドル時間の長さを指定する、読み取り/書き込みの datetime 値。 既定値は無限です。
Location (ConfigurationSection から継承。)キー プロパティ。
LogLevel イベント ログに書き込むイベントの種類を指定する、読み取り/書き込みの sint32 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。
MaxAppDomains 1 つのプロセスで許可されるアプリケーション ドメインの最大数を指定する、読み取り/書き込みの sint32 値。 この属性は 2000 以下である必要があります。 既定値は 2000 です。
MaxIOThreads CPU 1 つにつきプロセスで使用する I/O スレッドの最大数 (5 から 100) を指定する、読み取り/書き込みの sint32 値。 既定値は 20 です。

たとえば、シングルプロセッサ サーバーでこの値が 25 の場合、ASP.NET はプロセスの制限を 25 に設定します。 2 つのプロセッサを搭載するサーバーの場合、ASP.NET はこの制限を 50 に設定します。 このプロパティの値は、HttpRuntimeSection クラスの MinFreeThread プロパティ以上である必要があります。
MaxWorkerThreads CPU 1 つにつきプロセスで使用するワーカー スレッドの最大数 (5 から 100) を指定する、読み取り/書き込みの sint32 値。 既定値は 20 です。

たとえば、シングルプロセッサ サーバーでこの値が 25 の場合、ASP.NET はランタイム API を使ってプロセスの制限を 25 に設定します。 2 つのプロセッサを搭載するサーバーの場合、ASP.NET はこの制限を 50 に設定します。 このプロパティの値は、HttpRuntimeSection クラスの MinFreeThread プロパティ以上である必要があります。
MemoryLimit ASP.NET が新しいプロセスを開始して既存の要求を再割り当てするまでに、ワーカー プロセスが使用できる最大許容メモリ サイズ (システム メモリの合計に対する割合) を指定する、読み取り/書き込みの sint32 値。 既定値は 60 です。
MinIOThreads CPU 1 つにつきプロセスで使用する I/O スレッドの最小数を指定する、読み取り/書き込みの sint32 値。 既定値は 1 です。
MinWorkerThreads CPU 1 つにつきプロセスで使用するワーカー スレッドの最大数を指定する、読み取り/書き込みの sint32 値。 既定値は 1 です。
Password (存在する場合) UserName プロパティと共に、構成された Microsoft Windows ID を使ってワーカー プロセスを実行するための、読み取り/書き込みの string 値。 既定値は "AutoGenerate" です。 注: パスワードを必要としない特殊な名前 "System" と "Machine" の詳細と、暗号化されたワーカー プロセス資格情報をレジストリに格納する方法については、UserName プロパティを参照してください。
Path (ConfigurationSection から継承。)キー プロパティ。
PingFrequency ISAPI 拡張機能がワーカー プロセスに対して ping を実行してプロセスが実行されているかどうかを判断する間隔を指定する、読み取り/書き込みの datetime 値。 既定値は無限です。

PingTimeout プロパティで指定された期間でワーカー プロセスが応答しなかった場合は、再起動されます。
PingTimeout 応答を停止したワーカー プロセスが再起動されるまでの期間を指定する、読み取り/書き込みの datetime 値。 既定値は無限です。

ISAPI 拡張機能は、PingFrequency プロパティで指定された間隔でワーカー プロセスに対して ping を実行します。 PingTimeout プロパティで指定された期間でワーカー プロセスが応答しなかった場合は、再起動されます。
RequestLimit ASP.NET が現在のワーカー プロセスの代わりに新しいワーカー プロセスを自動的に開始するまでに許容される要求の数を指定する、読み取り/書き込みの sint32 値。 既定値は 2147483647 です。
RequestQueueLimit ASP.NET が新しい要求に対してメッセージ "503 – Server Too Busy" を返すまでにキューで許容される要求の数を指定する、読み取り/書き込みの sint32 値。 既定値は 5000 です。
ResponseDeadlockInterval キューに登録された要求がある場合に、その期間中に応答がなかったらプロセスを再起動する期間を指定する、読み取り/書き込みの datetime 値。 既定値は 3 分です。
ResponseRestartDeadlockInterval キューに登録された要求がある場合に、その期間中に応答がなかったらプロセスを再起動する期間を指定する、読み取り/書き込みの datetime 値 (下位互換性のために提供されます)。 既定値は 3 分です。 注: ASP.NET ではこのプロパティは使用されなくなりました。下位互換性のためだけに提供されています。 このプロパティが構成ファイルに既に存在している場合、構成エラーは発生しません。 現在は、ResponseDeadlockInterval プロパティを使ってデッドロック状態のプロセスの再起動を制御します。
RestartQueueLimit 非標準の終了後にワーカー プロセスが再起動するのを待機している間に、IIS がキューに入れる要求の最大数を指定する、読み取り/書き込みの sint32 値。 この設定は、クリーン シャットダウンまたは標準の再起動には適用されません。 既定値は 10 です。
SectionInformation (ConfigurationSection から継承。)
ServerErrorMessageFile サーバーが予期せず応答を停止した場合に、既定のメッセージ "サーバーは使用できません" の代わりに使うファイルの内容を指定する、読み取り/書き込みの string 値。 ファイルの場所は、Machine.config ファイルに対する相対パスか、絶対パスを指定できます。 このプロパティ値を指定しない場合、IIS は既定のメッセージ "サーバーは使用できません" を使います。
ShutdownTimeout ワーカー プロセスがシャットダウンするために許容される時間を指定する、読み取り/書き込みの datetime 値。 既定値は 5 秒です。 タイムアウトに達すると、ASP.NET がワーカー プロセスをシャットダウンします。
Timeout ASP.NET が現在のワーカー プロセスの代わりに新しいワーカー プロセスを開始するまでの時間 (分) を指定する、読み取り/書き込みの datetime 値。 既定値は無限です。
UserName ASP.NET が既定のプロセス ID とは異なる Windows ID を使ってワーカー プロセスを実行することを指定する、読み取り/書き込みの string 値。 既定値は "Machine" です。 既定では、プロセスは、ASP.NET のインストール時に自動的に作成されるユーザー アカウントとパスワードを使って実行されます。 ユーザー アカウントの名前は ASPNET で、パスワードは暗号を使って生成されます。

UserName プロパティと Password プロパティの両方に有効な資格情報が指定されている場合、プロセスはその指定されたアカウントで実行されます。 UserName の値が "System" で Password の値が "AutoGenerate" の場合、そのプロセスは、プロセスを使うすべての ASP.NET コードで、完全な管理アクセス許可で実行されます。 注: このプロパティと Password プロパティの値は、構成ファイルにクリア テキストで格納されます。 IIS がユーザー エージェント要求への応答で .config ファイルを送信することはありませんが、構成ファイルは他の方法で閲覧することができます。 たとえば、サーバーのドメインに対して必要な資格情報を持っている認証済みユーザーは、構成ファイルを閲覧できます。 セキュリティ上の理由から、ProcessModelSection クラスでは、暗号化された UserName プロパティと Password プロパティのレジストリへの格納がサポートされています。 詳しくは、「processModel 要素 (ASP.NET 設定スキーマ)」を参照してください。
WebGarden 読み取り/書き込みの boolean 値。 ASP.NET プロセスを実行する資格を与える CPU を指定するために CpuMask プロパティを使用する場合は true。ワーカー プロセスを 1 つだけ実行し、Windows オペレーティング システムによって CPU 使用率をスケジューリングする場合は false。 既定値は、false です。 注: マルチプロセッサ Web サーバーは、Web ガーデンと呼ばれます。

サブクラス

このクラスにはサブクラスが含まれていません。

解説

<processModel> セクションは Machine.config ファイルでのみ設定でき、サーバー上で実行されるすべての ASP.NET アプリケーションに影響します。

Note

ProcessModelSection クラスの変更は、設定を変更した直後ではなく、ワーカー プロセスが再起動されたときに初めて反映されます。

次の表は、AutoConfig プロパティが true の場合に自動的に構成される属性の一覧です。 詳しくは、Microsoft サポート技術情報 (https://support.microsoft.com) の記事 821268、「ASP.NET アプリケーションから Web サービス要求を行うと、競合、パフォーマンスの低下、およびデッドロックが発生する」を参照してください。

属性 説明
maxWorkerThreads ASP.NET が使用する CPU あたりのワーカー スレッドの最大数を指定します。
maxIoThreads ASP.NET が使用する CPU あたりの完了スレッドの最大数を指定します。
minFreeThreads HttpRuntimeSection クラスの MinFreeThreads プロパティに相当します。
minLocalRequestFreeThreads HttpRuntimeSection クラスの MinLocalRequestFreeThreads プロパティに相当します。
maxConnection ConnectionManagementElement クラスの MaxConnection プロパティに相当します。

次の表に、ComAuthenticationLevel プロパティとして使用できる値の一覧を示します。 既定値は 2 (Connect) です。

Value キーワード 説明
0 None 認証なしを指定します
1 Call リモート プロシージャの呼び出しが開始されるたびに、サーバーが要求を受け取ると、DCOM がクライアントの資格情報を認証することを指定します。
2 Connect クライアントがサーバーへの接続を確立した場合にのみ、DCOM がクライアントの資格情報を認証することを指定します。
3 Default DCOM が標準のセキュリティ ネゴシエーション アルゴリズムを使って認証レベルを決定することを指定します。
4 Pkt 受信したすべてのデータが想定されるクライアントからのものであることを DCOM が認証することを指定します。 データグラムの転送では、常に Pkt 認証が使用されます。
5 PktIntegrity クライアントとサーバーの間で転送されたどのデータも変更されていないことを DCOM が認証および検証することを指定します。
6 PktPrivacy DCOM が以前のすべてのレベルを認証し、各リモート プロシージャ呼び出しの引数の値を暗号化することを指定します。

次の表に、ComImpersonationLevel プロパティとして使用できる値の一覧を示します。 既定値は 4 (Impersonate) です。

Value キーワード 説明
0 Default DCOM が標準のセキュリティ ネゴシエーション アルゴリズムを使って偽装レベルを決定することを指定します。
1 Anonymous クライアントがサーバーに対して匿名であることを指定します。 サーバーはクライアントを偽装できますが、偽装トークンには情報は格納されていません。 .NET Framework バージョン 1.1 では、Anonymous はサポートされていません。
2 Delegate サーバーがクライアントに代わって動作するときに、サーバー プロセスがクライアントのセキュリティ コンテキストを偽装できることを指定します。 サーバーがクライアントに代わって動作するときに、サーバー プロセスはクローキングを使って他のサーバーを呼び出すこともできます。 サーバーは、他のコンピューターのクライアントのセキュリティ コンテキストを使用し、そのクライアントとしてローカル リソースおよびリモート リソースにアクセスできます。 サーバーがこのレベルで偽装している場合、偽装トークンは任意の数のコンピューター境界を超えて渡すことができます。
3 Identify サーバーがクライアントの ID を取得できることを指定します。 サーバーは、アクセス制御リスト (ACL) の確認時にクライアントを偽装できますが、クライアントとしてシステム オブジェクトにアクセスすることはできません。
4 Impersonate サーバーがクライアントに代わって動作するときに、サーバー プロセスがクライアントのセキュリティ コンテキストを偽装できることを指定します。 サーバーは、このレベルの偽装を使って、ファイルなどのローカル リソースにアクセスできます。 サーバーがこのレベルで偽装している場合、偽装トークンは 1 つのコンピューター境界だけを超えて渡すことができます。

次の表に、LogLevel プロパティとして使用できる値の一覧を示します。 既定値は 2 (Errors) です。

Value キーワード 説明
0 None イベントをログしないことを指定します。
1 All すべてのプロセス イベントをログすることを指定します。
2 Errors 予期しないシャットダウン、メモリ制限のシャットダウン、デッドロックのシャットダウンのみをログすることを指定します。

継承階層

ConfigurationSection

ProcessModelSection

要件

説明
クライアント - Windows Vista 上の IIS 7.0
- Windows 7 上の IIS 7.5
- Windows 8 上の IIS 8.0
- Windows 10 上の IIS 10.0
[サーバー] - Windows Server 2008 上の IIS 7.0
- Windows Server 2008 R2 上の IIS 7.5
- Windows Server 2012 上の IIS 8.0
- Windows Server 2012 R2 上の IIS 8.5
- Windows Server 2016 上の IIS 10.0
Product - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
MOF ファイル WebAdministration.mof

参照