方法: WCF アクティブ化コンポーネントをインストールして設定する

ここでは、Windows Vita で Windows プロセス アクティブ化サービス (WAS) を構成して、HTTP ネットワーク プロトコルによる通信を行わない Windows Communication Foundation (WCF) サービスをホストするために必要な手順について説明します。 以降の各セクションで、この構成に関する手順について概説します。

  • WCF アクティブ化コンポーネントをインストール (または、そのインストールを確認) します。

  • 非 HTTP プロトコルをサポートようにする WAS を構成します。 次の手順では、TCP のアクティブ化用に Windows Vista を構成します。

WAS をインストールして構成したら、「方法: WAS で WCF サービスをホストする」の手順を参照して、WAS を使用する非 HTTP エンドポイントを公開する WCF サービスを作成します。

WCF 非 HTTP アクティブ化コンポーネントをインストールするには

  1. [スタート] ボタンをクリックし、[コントロール パネル] をクリックします。

  2. [プログラム] をクリックし、 [プログラムと機能] をクリックします。

  3. [タスク] メニューの [Windows の機能を有効化または無効化] をクリックします。

  4. WinFX ノードを検索し、それを選択して展開します。

  5. [WCF Non-Http Activation Components](WCF 非 HTTP アクティブ化コンポーネント) ボックスをオンにして、設定を保存します。

TCP アクティベーションをサポートするように WAS を構成するには

  1. 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 サイトに追加します。

  2. サイト内のすべてのアプリケーションが同じ 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 というバッチ ファイルに実装されています。

    1. 管理者レベルのコマンド プロンプト ウィンドウで次のコマンドを実行して、有効なプロトコルの一覧から net.tcp を削除します。

      %windir%\system32\inetsrv\appcmd.exe set app
      "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
      

      Note

      このコマンドはテキスト 1 行です。

    2. 権限のレベルが高いコマンド プロンプト ウィンドウで次のコマンドを実行して、net.tcp サイト バインディングを削除します。

      %windir%\system32\inetsrv\appcmd.exe set site "Default Web Site"
      --bindings.[protocol='net.tcp',bindingInformation='808:*']
      

      Note

      このコマンドはテキスト 1 行です。

有効なプロトコルの一覧から net.tcp を削除するには

  1. 有効なプロトコルの一覧から net.tcp を削除するには、管理者レベルのコマンド プロンプト ウィンドウで次のコマンドを実行します。

    %windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
    

    Note

    このコマンドはテキスト 1 行です。

net.tcp サイト バインディングを削除するには

  1. net.tcp サイト バインディングを削除するには、管理者レベルのコマンド プロンプト ウィンドウで次のコマンドを実行します。

    %windir%\system32\inetsrv\appcmd.exe set site "Default Web Site"
    -bindings.[protocol='net.tcp',bindingInformation='808:*']
    

    Note

    このコマンドはテキスト 1 行です。

関連項目