次の方法で共有


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/
net.tcp://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 プロセス アクティブ化サービスを設定する