インターネット インフォメーション サービスでのホスティング
インターネット インフォメーション サービス (IIS) アプリケーションの中に Windows Communication Foundation (WCF) サービスをホストする 1 つのオプションがあります。 このホスティング モデルは、ASP.NET や ASP.NET Web サービス (ASMX) Web サービスが使用するモデルと似ています。
IIS バージョン
WCF をホストできるオペレーティング システムと IIS のバージョンの組み合わせは次のとおりです。
Windows XP SP2 上の IIS 5.1: この環境は、後で Windows Server 2003 などのサーバー オペレーティング システムに展開される、IIS ホスト型アプリケーションの設計と開発に役立ちます。
Windows Server 2003 上の IIS 6.0: IIS 6.0 は、スケーラビリティ、信頼性、およびアプリケーションの分離が強化された高度なプロセス モデルを提供します。 この環境は、HTTP 通信のみを使用する WCF サービスの本運用展開に適しています。
Windows Vista および Windows Server 2008 上の IIS 7.0: IIS 7.0 では、IIS 6.0 と同じ高度なプロセス モデルが提供されますが、Windows プロセス アクティブ化サービス (WAS) を使用して、HTTP 以外のプロトコル経由でのアクティブ化とネットワーク通信を可能にします。 この環境は、WCF でサポートされる任意のネットワーク プロトコル (HTTP、net.tcp、net.pipe、net.msmq など) で通信を行う WCF サービスの開発に適しています。 WAS の詳細については、「Windows プロセス アクティブ化サービスでのホスティング」を参照してください。
Windows Server AppFabric では、IIS 7.0 および Windows プロセス アクティブ化サービス (WAS) と連携して、NET4 WCF および WF サービスのための充実したアプリケーションのホスト環境が提供されます。 この利点には、プロセス ライフサイクル管理、プロセス リサイクル、共有ホスティング、迅速な障害保護、プロセスの孤立化、オンデマンド アクティブ化、状態監視などがあります。 詳細については、AppFabric のホスティング機能に関するページおよび AppFabric のホスティングの概念に関するページを参照してください。
IIS ホスティングのベネフィット
IIS で WCF サービスをホスティングすることには、いくつかのベネフィットがあります。
IIS でホストされる WCF サービスは、ASP.NET アプリケーションや ASMX などの他の種類の IIS アプリケーションと同じように展開、管理されます。
IIS はプロセスのアクティブ化、状態管理、リサイクル機能を提供し、ホストされるアプリケーションの信頼性を向上します。
ASP.NET と同様に、ASP.NET でホストされる WCF サービスでは、ASP.NET の共有ホスティング モデルが利用されます。ここでは、サーバーの堅牢性とスケーラビリティを向上させるために、複数のアプリケーションが共通のワーカー プロセスに配置されます。
IIS でホストされる WCF サービスでは、ASP.NET 2.0 と同じ動的なコンパイル モデルが使用されます。これにより、ホストされるサービスの開発と展開が簡素化されます。
IIS で WCF サービスをホストすることを決定する場合、IIS 5.1 と IIS 6.0 は HTTP 通信のみに限定されることに注意が必要です。 ホスティング環境の選択方法の詳細については、「ホスティング サービス」を参照してください。
IIS にホストされた WCF サービスの展開
IIS でホストされる WCF サービスの開発と展開を行うには、次のタスクを実行します。
IIS、ASP.NET、WCF、WCF HTTP アクティブ化コンポーネントなどが正しくインストールおよび登録されていることを確認します。
新しい IIS アプリケーションを作成するか、既存の ASP.NET アプリケーションを再利用します。
WCF サービス用の .svc ファイルを作成します。
IIS アプリケーションにサービス実装を展開します。
WCF サービスを構成します。
これらの各タスクの詳細については、「インターネット インフォメーション サービスでホストされる WCF サービスの配置」を参照してください。
WCF サービスと ASP.NET
WCF サービスは、ASP.NET とサイド バイ サイドでホストするか、または ASP.NET 互換モードでホストできます。このモードでは、サービスにおいて ASP.NET Web アプリケーション プラットフォームが提供する機能を最大限に活用できます。 これらの機能の詳細については、「WCF サービスと ASP.NET」を参照してください。