次の方法で共有


WAS アクティベーション アーキテクチャ

ここでは、Windows プロセス アクティブ化サービス (WAS とも呼ばれます) の各コンポーネントについて説明します。

アクティベーション コンポーネント

WAS は、複数のアーキテクチャ コンポーネントで構成されます。

  • リスナー アダプター : 特定のネットワーク プロトコルでメッセージを受信し、WAS と通信して、受信メッセージを適切なワーカー プロセスにルーティングする Windows サービス。

  • WAS : ワーカー プロセスの作成と有効期間を管理する Windows サービス。

  • 汎用ワーカー プロセス実行可能ファイル (w3wp.exe)。

  • アプリケーション マネージャー : ワーカー プロセス内のアプリケーションをホストするアプリケーション ドメインの作成と有効期間を管理します。

  • プロトコル ハンドラー : ワーカー プロセスで実行され、ワーカー プロセスと個々のリスナー アダプター間の通信を管理するプロトコル固有のコンポーネント。プロトコル ハンドラーには、プロセス プロトコル ハンドラーと AppDomain プロトコル ハンドラーの 2 種類があります。

ワーカー プロセス インスタンスをアクティブ化する場合、WAS は必要なプロセス プロトコル ハンドラーをワーカー プロセスに読み込み、アプリケーション マネージャーを使用して、アプリケーションをホストするアプリケーション ドメインを作成します。アプリケーション ドメインは、アプリケーションのコードと、アプリケーションが使用するネットワーク プロトコルに必要な AppDomain プロトコル ハンドラーを読み込みます。

WAS アーキテクチャ

リスナー アダプター

リスナー アダプターは個別の 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>

参照

概念

Windows Communication Foundation で使用するための Windows プロセス アクティブ化サービスを設定する

その他のリソース

AppFabric のホスティング機能