方法: WCF アクティブ化コンポーネントをインストールして設定する
ここでは、Windows Vita で Windows プロセス アクティブ化サービス (WAS) を構成して、HTTP ネットワーク プロトコルによる通信を行わない Windows Communication Foundation (WCF) サービスをホストするために必要な手順について説明します。 以降の各セクションで、この構成に関する手順について概説します。
WCF アクティブ化コンポーネントをインストール (または、そのインストールを確認) します。
非 HTTP プロトコルをサポートようにする WAS を構成します。 次の手順では、TCP のアクティブ化用に Windows Vista を構成します。
WAS をインストールして構成したら、「方法: WAS で WCF サービスをホストする」の手順を参照して、WAS を使用する非 HTTP エンドポイントを公開する WCF サービスを作成します。
WCF 非 HTTP アクティブ化コンポーネントをインストールするには
[スタート] ボタンをクリックし、[コントロール パネル] をクリックします。
[プログラム] をクリックし、 [プログラムと機能] をクリックします。
[タスク] メニューの [Windows の機能を有効化または無効化] をクリックします。
WinFX ノードを検索し、それを選択して展開します。
[WCF Non-Http Activation Components](WCF 非 HTTP アクティブ化コンポーネント) ボックスをオンにして、設定を保存します。
TCP アクティベーションをサポートするように WAS を構成するには
net.tcp アクティベーションをサポートするには、既定の Web サイトをあらかじめ net.tcp ポートにバインドしておく必要があります。 これは、IIS 7.0 管理ツール セットと共にインストールされる Appcmd.exe を使用して行います。 管理者レベルのコマンド プロンプト ウィンドウで、次のコマンドを実行します。
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']
Note
このコマンドはテキスト 1 行です。 このコマンドは、net.tcp サイト バインディングを、TCP ポート 808 で任意のホスト名をリッスンする既定の Web サイトに追加します。
サイト内のすべてのアプリケーションが同じ net.tcp バインディングを共有しますが、net.tcp サポートの有効化はアプリケーションごとに指定できます。 アプリケーションで net.tcp を有効にするには、管理者レベルのコマンド プロンプトから、次のコマンドを実行します。
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:http,net.tcp
Note
このコマンドはテキスト 1 行です。 このコマンドにより、
http://localhost/<WCF Application>
とnet.tcp://localhost/<WCF Application>
の両方を使用して、/<WCF Application> アプリケーションにアクセスできるようになります。このサンプル用に追加した net.tcp サイト バインディングを削除します。
便宜上次の 2 つの手順が、サンプル ディレクトリにある RemoveNetTcpSiteBinding.cmd というバッチ ファイルに実装されています。
管理者レベルのコマンド プロンプト ウィンドウで次のコマンドを実行して、有効なプロトコルの一覧から net.tcp を削除します。
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Note
このコマンドはテキスト 1 行です。
権限のレベルが高いコマンド プロンプト ウィンドウで次のコマンドを実行して、net.tcp サイト バインディングを削除します。
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" --bindings.[protocol='net.tcp',bindingInformation='808:*']
Note
このコマンドはテキスト 1 行です。
有効なプロトコルの一覧から net.tcp を削除するには
有効なプロトコルの一覧から net.tcp を削除するには、管理者レベルのコマンド プロンプト ウィンドウで次のコマンドを実行します。
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Note
このコマンドはテキスト 1 行です。
net.tcp サイト バインディングを削除するには
net.tcp サイト バインディングを削除するには、管理者レベルのコマンド プロンプト ウィンドウで次のコマンドを実行します。
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -bindings.[protocol='net.tcp',bindingInformation='808:*']
Note
このコマンドはテキスト 1 行です。