このトピックでは、Windows プロセス ライセンス認証サービス (WAS とも呼ばれます) のコンポーネントについて説明します。
アクティブ化コンポーネント
WAS は、いくつかのアーキテクチャ コンポーネントで構成されています。
リスナー アダプター。 特定のネットワーク プロトコルでメッセージを受信し、WAS と通信して受信メッセージを適切なワーカー プロセスにルーティングする Windows サービス。
は。 ワーカー プロセスの作成と有効期間を管理する Windows サービス。
汎用ワーカー プロセス実行可能ファイル (w3wp.exe)。
アプリケーション マネージャー。 ワーカー プロセス内でアプリケーションをホストするアプリケーション ドメインの作成と有効期間を管理します。
プロトコル ハンドラー。 ワーカー プロセスで実行され、ワーカー プロセスと個々のリスナー アダプター間の通信を管理するプロトコル固有のコンポーネント。 2 種類のプロトコル ハンドラーが存在します。プロセス プロトコル ハンドラーと AppDomain プロトコル ハンドラーです。
WAS はワーカー プロセス インスタンスをアクティブ化すると、ワーカー プロセスに必要なプロセス プロトコル ハンドラーを読み込み、アプリケーション マネージャーを使用してアプリケーションをホストするアプリケーション ドメインを作成します。 アプリケーション ドメインは、アプリケーションのコードと、アプリケーションで使用されるネットワーク プロトコルで必要な AppDomain プロトコル ハンドラーを読み込みます。
リスナー アダプター
リスナー アダプターは、リッスンするネットワーク プロトコルを使用してメッセージを受信するために使用されるネットワーク通信ロジックを実装する個々の Windows サービスです。 次の表に、Windows Communication Foundation (WCF) プロトコルのリスナー アダプターを示します。
リスナー アダプターのサービス名 | プロトコル | 注記 |
---|---|---|
W3SVC | http | IIS 7.0 と WCF の両方に HTTP ライセンス認証を提供する共通コンポーネント。 |
NetTcpActivator | net.tcp | NetTcpPortSharing サービスに依存します。 |
NetPipeActivator | net.pipe | |
NetMsmqActivator | net.msmq | WCF ベースのメッセージ キュー アプリケーションで使用します。 |
NetMsmqActivator | msmq.formatname | 既存のメッセージ キュー アプリケーションとの下位互換性を提供します。 |
特定のプロトコルのリスナー アダプターは、次の XML 例に示すように、applicationHost.config ファイルのインストール中に登録されます。
<system.applicationHost>
<listenerAdapters>
<add name="http" />
<add name="net.tcp"
identity="S-1-5-80-3579033775-2824656752-1522793541-1960352512-462907086" />
<add name="net.pipe"
identity="S-1-5-80-2943419899-937267781-4189664001-1229628381-3982115073" />
<add name="net.msmq"
identity="S-1-5-80-89244771-1762554971-1007993102-348796144-2203111529" />
<add name="msmq.formatname"
identity="S-1-5-80-89244771-1762554971-1007993102-348796144-2203111529" />
</listenerAdapters>
</system.applicationHost>
プロトコル ハンドラー
特定のプロトコルのプロセス および AppDomain プロトコル ハンドラーは、マシン レベルの Web.config ファイルに登録されます。
<system.web>
<protocols>
<add name="net.tcp"
processHandlerType=
"System.ServiceModel.WasHosting.TcpProcessProtocolHandler"
appDomainHandlerType=
"System.ServiceModel.WasHosting.TcpAppDomainProtocolHandler"
validate="false" />
<add name="net.pipe"
processHandlerType=
"System.ServiceModel.WasHosting.NamedPipeProcessProtocolHandler"
appDomainHandlerType=
"System.ServiceModel.WasHosting.NamedPipeAppDomainProtocolHandler"/>
<add name="net.msmq"
processHandlerType=
"System.ServiceModel.WasHosting.MsmqProcessProtocolHandler"
appDomainHandlerType=
"System.ServiceModel.WasHosting.MsmqAppDomainProtocolHandler"
validate="false" />
</protocols>
</system.web>
こちらも参照ください
- WCF で使用するための WAS の構成
- Windows Server App Fabric におけるホスティング機能