次の方法で共有


Windows Communication Foundation サンプルの One-Time セットアップ手順

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

ServiceModelSamples 仮想ディレクトリは、IIS でホストされるサービスを使用するすべてのサンプルをビルドして実行するために使用されます。 これは、サンプルを実行するために必要な唯一の仮想ディレクトリです。 サンプルをビルドすると、この仮想ディレクトリに以前にデプロイされたサービスが置き換えられます。この仮想ディレクトリには、最後にビルドされたサンプルのみがデプロイされ、使用できるようになります。

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

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

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

  2. .NET Framework 4 以降がインストールされていることを確認します。 次のディレクトリで v4.0 (またはそれ以降) を検索します: \Windows\Microsoft.NET\Framework

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

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

    Warnung

    IIS を再インストールする場合は、次のコマンドを再度実行する必要があります。

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

    Warnung

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

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

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

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

    • 新しいディスク ディレクトリ %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples および %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin が作成されます。

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

    この手順は、cleanupvroot.batを実行しない限り、コンピューターで 1 回だけ実行する必要があります。

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

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

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

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

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

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

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

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

    セキュリティ上の理由から、サンプルの完了後に cleanupvroot.bat という名前のバッチ ファイルを実行して、上記のセットアップ手順で付与された仮想ディレクトリ定義とアクセス許可を必ず削除してください。

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

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

    メッセージ キューを必要とするサンプルを実行する前に、必ず MSMQ サービスを開始してください。

  12. 一部のサンプルには証明書が必要です。 インターネット インフォメーション サービス (IIS) サーバー証明書のインストール手順を参照してください。