Windows プロセス アクティブ化サービスでのホスティング
Windows プロセス アクティブ化サービス (WAS) は、Windows Communication Foundation (WCF) サービスをホストするアプリケーションが含まれるワーカー プロセスのアクティベーションと有効期間を管理します。WAS プロセス モデルは HTTP の依存関係を取り除くことにより、HTTP サーバーの IIS 6.0 プロセス モデルを一般化します。これにより、WCF サービスは、メッセージ ベースのアクティベーションがサポートされ、特定のコンピュータ上で多数のアプリケーションをホストできるホスト環境で、Net.TCP などの HTTP プロトコルと非 HTTP プロトコルの両方を使用できるようになります。
WAS ホスト環境で実行される WCF サービスを構築する方法詳細については、 、「方法 : WAS で WCF サービスをホストする」を参照してください。
WAS プロセスモデルは、信頼性が高く管理も容易でリソースを効果的に使用する方法でアプリケーションのホストを実現するいくつかの機能を提供します。
- HTTP と非 HTTP ネットワーク プロトコルを使用して到着する作業アイテムに応答して、アプリケーションやワーカー プロセス アプリケーションを動的に起動、停止する、メッセージに基づくアクティベーション。
- 実行中のアプリケーションの状態を維持するための、信頼性の高いアプリケーションとワーカー プロセスのリサイクル。
- 集中化されたアプリケーション設定と管理。
- 完全な IIS インストールの配置スペースを必要とせずに、アプリケーションで IIS プロセス モデルを利用可能。
WAS 機能詳細については、 、「Windows プロセス アクティブ化サービスでのホスティング」を参照してください。
WAS アドレス指定モデルの要素
アプリケーションには、サーバーによって有効期間と実行環境が管理されているコード単位である URI (Uniform Resource Identifier) アドレスがあります。1 つの WAS サーバー インスタンスを多数の異なるアプリケーションでホームとすることができます。サーバーでアプリケーションはサイトと呼ばれるグループに編成されます。サイト内でアプリケーションは階層で整理されます。この階層は URI の構造に反映されてアプリケーションの外部アドレスとして提供されます。
アプリケーション アドレスは、ベース URI プレフィックスとアプリケーション固有の相対アドレス (パス) の 2 つの部分に分かれます。この 2 つの部分が結合されアプリケーションの外部アドレスが提供されます。ベース URI プレフィックスは、サイト バインドで構築され、サイト内のすべてのアプリケーションで使用されます。次に、アプリケーション固有のパス フラグメント (“/applicationOne” など) が取得され、ベース URI プレフィックス (“net.tcp://localhost” など) に追加されてアプリケーション アドレスが構築されます。これでアプリケーションの完全 URI になります。
HTTP と 非 HTTP サイト バインディングの両方の WAS サイト用に考えられるアドレス シナリオを次の表に示します。
シナリオ | サイト バインディング | アプリケーション パス | ベース アプリケーション URI |
---|---|---|---|
HTTP のみ |
http: *:80:* |
/appTwo |
https://localhost/appTwo/ |
HTTP と 非 HTTP の混在 |
http: *:80:* net.tcp: 808:* |
/appTwo |
https://localhost/appTwo/ |
非 HTTP のみ |
net.pipe: * |
/appThree |
net.pipe://appThree/ |
アプリケーション内のサービスとリソースにもアドレスを指定できます。アプリケーション内では、アプリケーション リソースにベース アプリケーション パスに対する相対アドレスが指定されます。たとえば、コンピュータ名 contoso.com のサイトに HTTP と Net.TCP プロトコルの両方のサイト バインドがあるとします。さらに、そのサイトには 1 つのアプリケーションが /Billing に格納されており、GetOrders.svc でサービスを公開しているとします。このとき、GetOrders.svc サービスで SecureEndpoint の相対アドレスを持つエンドポイントが公開されている場合、サービスのエンドポイントは次の 2 つの URI で公開されることになります。
https://contoso.com/Billing/GetOrders.svc/SecureEndpoint
net.tcp://contoso.com/Billing/GetOrders.svc/SecureEndpoint
WAS ランタイム
アプリケーションは、アドレス指定と管理の目的でサイトに編成されます。実行時にもアプリケーションはアプリケーション プールにグループ化されます。アプリケーション プールには、多数の異なるサイトからの多数の異なるアプリケーションを格納できます。アプリケーション プール内のすべてのアプリケーションで、一連の共通の実行時特性を共有します。たとえば、すべてのアプリケーションは同じバージョンの共通言語ランタイム (CLR) 下で実行され、またすべてのアプリケーションで共通のプロセス ID を共有します。各アプリケーション プールはワーカー プロセス (w3wp.exe) のインスタンスに対応します。共有アプリケーション プール内で実行される各マネージ アプリケーションは、CLR AppDomain により他のアプリケーションから分離されます。
関連項目
タスク
方法 : WCF アクティブ化コンポーネントをインストールして設定する
方法 : WAS で WCF サービスをホストする
概念
WAS アクティベーション アーキテクチャ
Windows Communication Foundation で使用するための Windows プロセス アクティブ化サービスを設定する