Windows Communication Foundation (WCF) のサンプルは、単一コンピューターまたは複数のコンピューター間の構成で実行できます。 提供されているように、サンプルは単一の機械で実行する準備ができています。 マシン間の構成では、サンプルの構成ファイルの設定を変更する必要があります。 次の手順では、同じコンピューターとマシン間の構成でサンプルを実行する方法について説明します。 インターネット インフォメーション サービス (IIS) とセルフホステッド サンプルでホストされるサービスの手順にはバリエーションがあることに注意してください。 ほとんどのサンプルは IIS でホストされています。ホスト方法を決定するには、サンプルの readme 情報を参照してください。
Windows Vista では、IIS でホストされていないサンプルでは、リスナーを Http.sysに登録するために昇格された特権が必要です。 Httpcfg.exe を使用して、サービスが実行されているアカウントにサービスのリッスン アドレスを登録するか、管理者特権で実行されているコマンド プロンプトからサービスを起動します。
注
WCF サンプルをビルドまたは実行する前に、 Windows Communication Foundation サンプルのOne-Time セットアップ 手順を実行していることを確認してください。
同じコンピューターでサンプルを実行するには
サービスが IIS によってホストされている場合は、次のアドレスを入力して、ブラウザーを使用してサービスにアクセスできることを確認します:
http://localhost/servicemodelsamples/service.svc
。 応答として確認ページが表示されます。 確認ページが表示されない場合は、「 WCF サンプルのトラブルシューティングのヒント」を参照してください。サービスがセルフホステッドの場合は、言語固有のフォルダーの下にある \service\bin から Service.exe を実行します。 サービス アクティビティがサービス コンソール ウィンドウに表示されます。
言語固有のフォルダーの下から、\client\bin\ から Client.exe を実行します。 クライアント アクティビティがクライアント コンソール ウィンドウに表示されます。
クライアントとサービスが通信できない場合は、「WCF サンプルのトラブルシューティングのヒント」を参照してください。
マシン間でサンプルを実行するには
サービスが IIS でホストされている場合:
サービス マシンで、ServiceModelSamples という名前の仮想ディレクトリを作成します。 Windows Communication Foundation サンプルのOne-Time セットアップ手順に含まれるバッチ ファイル Setupvroot.bat を使用して、ディスク ディレクトリと仮想ディレクトリを作成できます。
サービス プログラム ファイル %SystemDrive%\Inetpub\wwwroot\servicemodelsamples からサービス マシン上の ServiceModelSamples 仮想ディレクトリにコピーします。 \bin ディレクトリにファイルを含めます。
ブラウザーを使用してクライアント コンピューターからサービスにアクセスできることをテストします。
サービスがセルフホステッドの場合:
サービス マシンで、サービス ファイルを保持するディレクトリを作成します。
言語固有のフォルダーの下にある \service\bin\ フォルダーからサービス コンピューターにサービス プログラム ファイルをコピーします。
サービス構成ファイルで、サービスの新しいアドレスと一致するようにエンドポイント定義のアドレス値を変更します。 "localhost" への参照を、アドレス内の完全修飾ドメイン名に置き換えます。
コマンド プロンプトから Service.exe を起動します。
クライアント プログラム ファイルを、言語固有のフォルダーの下にある \client\bin\ フォルダーからクライアント コンピューターにコピーします。
エンドポイント アドレスを設定します。
サービスがドメイン アカウントで実行されていない場合は、クライアント構成ファイルを開き、サービスの新しいアドレスと一致するようにエンドポイント定義のアドレス値を変更します。 "localhost" への参照を、アドレス内の完全修飾ドメイン名に置き換えます。
サービスがドメイン アカウントで実行されている場合は、サービスに対して Svcutil.exe を実行してクライアント構成を再生成します。 Svcutil.exeの実行の詳細については、「 Windows Communication Foundation サンプルのビルド」を参照してください。 サンプルの構成ファイルではなく、生成されたファイルを使用します。 生成された構成ファイルには追加の ID 情報が含まれており、サービス エンドポイントが既定の設定であっても、サービス エンドポイントに接続するために必要なすべての設定が含まれています。 ID 情報の詳細については、「サービス ID と認証」および「< id>を参照してください。
クライアント コンピューターで、コマンド プロンプトから Client.exe を起動します。
サービスをデバッグするには
[ビルド] メニューまたは Ctrl+Shift+B を使用して、ソリューション (クライアントとサービスの両方) をビルドします。
サービスが IIS でホストされている場合:
アドレス
http://localhost/servicemodelsamples/service.svc
を入力して、ブラウザーを使用してサービスをアクティブ化します。ソリューションで、[ デバッグ ] メニューと [ プロセスにアタッチ ] メニュー項目を選択します。
[ すべてのユーザーからプロセスを表示 する] チェック ボックスをオンにします。
デバッグするホスト ワーカー プロセス W3wp.exe を選択します (Windows XP の ASPNet_wp.exe を選択します)。
サービス コードでブレークポイントを設定し、例外に対してブレークポイントを有効にできるようになりました。
クライアント プロジェクト項目を右クリックし、[ デバッグ]、[ 新しいインスタンスの開始] の順に選択します。
サンプルの実行後にクリーンアップするには
- サービスがセキュリティのために IIS でホストされている場合は、サンプルが完了したら、セットアップ手順で付与された仮想ディレクトリ定義とアクセス許可を削除します。