Windows Communication Foundation サンプルの 1 回限りのセットアップの手順

ほとんどの Windows Communication Foundation (WCF) サンプルはインターネット インフォメーション サービス (IIS) でホストされ、共通の仮想ディレクトリから実行されます。 この 1 回限りのセットアップの手順では、ディスク上にフォルダーを作成します。また、ServiceModelSamples という名前の仮想ディレクトリを IIS に追加します。

ServiceModelSamples 仮想ディレクトリは、IIS でホストされるサービスを使用するすべてのサンプルのビルドと実行に使用されます。 サンプルの実行に必要な仮想ディレクトリはこれだけです。 サンプルをビルドすると、この仮想ディレクトリにある、以前に配置されたサービスがすべて置き換えられます。この仮想ディレクトリには最近ビルドされたサンプルだけが配置されるため、そのサンプルしか使用できません。

Note

  • すべてのコマンドは、ローカル管理者アカウントで実行する必要があります。 Windows 7、Windows Vista、または Windows Server 2008 R2 を使用している場合は、コマンド プロンプトも管理者権限で実行する必要があります。 これを行うには、コマンド プロンプトのアイコンを右クリックし、 [管理者として実行] をクリックします。
  • この記事のすべてのコマンドは、適切なパスが設定されているコマンド プロンプトで実行する必要があります。 このようにするための最も簡単な方法は、Visual Studio 用の開発者コマンド プロンプトを使用する方法です。

WCF サンプルの 1 回限りのセットアップの手順

  1. ASP.NET が設定されていることを確かめます。 ASP.NET を設定する方法の詳細については、「インターネット インフォメーション サービスのホスティング手順」を参照してください。

  2. .NET Framework 4 以上がインストールされていることを確かめます。 \Windows\Microsoft.NET\Framework ディレクトリで、v4.0 (以降) を検索します

  3. Visual Studio 2012 以降がインストールされていること、またはオペレーティング システムが Windows Server 2008 SP2 以降であることを確かめます。

  4. 次のコマンドを実行します。 これらのコマンドを実行する必要がある理由の詳細については、「IIS ホスト サービスのエラー」を参照してください。

    警告

    IIS を再インストールした場合は、次のコマンドを再実行します。

    "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis" –i –enable
    "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe" -r
    

    警告

    コマンド aspnet_regiis –i –enable を実行すると、.NET Framework 4 を使用して既定のアプリケーション プールが実行されます。このときに、同じコンピューター上の他のアプリケーションで非互換性の問題が発生することがあります。

  5. ファイアウォール手順」に従って、サンプルで使用するポートを有効にします。

  6. Setupvroot.bat バッチ ファイルを実行します。 次の手順を実行します。

    • ServiceModelSamples という名前の仮想ディレクトリが IIS に作成されます。

    • %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples and %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin という名前の新しいディスク ディレクトリが作成されます。

    これらのディレクトリを手動で設定したい場合は、「仮想ディレクトリのセットアップ手順」を参照してください。 この手順で行ったすべての変更を元に戻すには、サンプルの使用が終わった後で cleanupvroot.bat を実行します。

    Note

    cleanupvroot.bat を実行しない限り、この手順を実行するのは、1 台のコンピューターで 1 回のみです。

  7. サンプルおよび Network Service ユーザーのビルドに使用するアカウントに対し、%SystemDrive%\inetpub\wwwroot の変更権限を付与する必要があります。 ビルドの実行時に、Web ホストの一部のサンプルがコンパイル済みバイナリを前述の場所にコピーしようとする場合があり、適切な権限が設定されていないと、ビルドは破損します。 代わりに、アクセス許可の設定はそのままにして、SDK コマンド プロンプトまたは Visual Studio コマンド プロンプト (2012) を管理者として実行するか、Visual Studio 2012 を管理者として実行し、サンプルをビルドすることもできます。

    Note

    この手順を完了していない場合は、ビルドの実行時に IIS でホストされているすべてのサンプルでエラーが発生します。 アクセス許可が正しく設定されていることを確認するか、SDK コマンド プロンプトと Visual Studio コマンド プロンプトの両方を管理者として実行してください。

  8. 一部のサンプルで必要になることがあるため、コンピューター上に C:\logs ディレクトリを作成します。 このフォルダーに対する書き込みアクセスが適切なアカウントに付与されていることを確認してください。 Windows 7、Windows Vista、および Windows Server 2008 R2 の場合、このアカウントは Network Service です。 Windows Server 2008 の場合、アカウントは NT Authority\Network Service です。 Windows XP および Windows Server 2003 の場合、このアカウントは ASPNET です。

  9. Setupcerttool.bat ファイルを実行します。 このスクリプトは、次のタスクを実行します。

    • FindPrivateKey ツールをビルドします。

    • %ProgramFiles%\ServiceModelSampleTools というディレクトリを作成します。

    • 新しい FindPrivateKey ツールをこのディレクトリにコピーします。

    このツールは、証明書を使用して IIS でホストされるサンプルで必要です。

    Note

    セキュリティのために、サンプルの使用が終わったら、cleanupvroot.bat という名前のバッチ ファイルを実行して、このセットアップ手順で付与された仮想ディレクトリの定義とアクセス許可を必ず削除してください。

  10. 自己ホスト型の (IIS でホストされていない) サンプルでは、リッスンを行うコンピューター上で HTTP アドレスを登録するためのアクセス許可が必要です。 HTTP 名前空間予約のアクセス許可は、サンプルの実行に使用されるユーザー アカウントから提供されます。 既定では、管理者アカウントには、任意の HTTP アドレスを登録するためのアクセス許可があります。 管理者以外のアカウントの場合は、サンプルで使用される HTTP 名前空間へのアクセス許可が付与される必要があります。 名前空間の予約を構成する方法については、「Configuring HTTP and HTTPS」 (HTTP と HTTPS を構成する) を参照してください。

  11. 一部のサンプルにはメッセージ キューが必要です。 インストール手順については、「メッセージ キュー (MSMQ) のインストール」を参照してください。

    Note

    メッセージ キューが必要なサンプルを実行する場合は、MSMQ サービスを事前に開始しておいてください。

  12. 一部のサンプルには証明書が必要です。 「インターネット インフォメーション サービス (IIS) サーバーの証明書をインストールするための指示に関するページ」を参照してください。