完了までの時間: 10 分
この手順では、エコー アダプターによって提供される受信サービスをテストします。 これを行うには、Visual Studio、アダプター サービス参照の追加、Visual Studio Plug-In、およびカスタム コードを使用します。
[前提条件]
この手順を完了するには、 チュートリアル 1: エコー アダプターの開発を完了している必要があります。 この手順は、 手順 1: エコー アダプターの送信ハンドラーをテストする手順とは無関係に完了できます。
Visual Studio プロジェクトを作成する
Visual Studio を起動します。
Visual Studio の [ ファイル ] メニューの [ 新規作成] をポイントし、[ プロジェクト] をクリックします。
[新しいプロジェクト ] ダイアログ ボックスで、次の操作を行います。
これを使用する 目的 プロジェクトの種類 [ Visual C#] をクリックします。 テンプレート [ コンソール アプリケーション] をクリックします。 名前 「ConsumeEchoAdapter_Inbound」と入力します。 場所 「C:\Tutorials」と入力します。 ソリューション名 「ConsumeEchoAdapter_Inbound」と入力します。 OK をクリックします。
Visual Studio の [ ファイル ] メニューの [ すべて保存] をクリックします。
WCF サービスを閲覧、検索、生成する
Visual Studio ソリューション ウィンドウで、プロジェクト ConsumeEchoAdapter_Inbound 右クリックし、[ アダプター サービス参照の追加 ] を選択して、アダプター サービス参照の追加プラグインを起動します。
[ アダプター サービス参照の追加] 画面で、バインドを選択します。 これを行うには、 echoAdapterBindingV2 を選択します。
次に、[構成] をクリックして、アダプターと接続のプロパティを 構成します。 [アダプターの 構成 ] 画面が開きます。
[ アダプターの構成 ] 画面で、[ バインドのプロパティ ] タブを選択してアダプターのプロパティを構成します。 カスタムエコーアダプタカテゴリ 受信 と その他 が表示されていることに注意してください。 [ その他 ] カテゴリの [ InboundFileSystemWatcherFolder ] をクリックし、監視するディレクトリを入力します。
[ OK] を クリックして [アダプターの構成 ] 画面を閉じ、[ アダプター サービス参照の追加] 画面に戻ります。
次に、[ 接続 ] をクリックしてエコー アダプター (およびサポートされている架空の基幹業務システム) に接続します。 しばらくすると、接続の状態が [接続済み ] に変わり、[カテゴリの選択] の下にある カテゴリ ツリーが設定されます。
使用可能な受信操作を表示するには、 サービス コントラクトの種類 を サービス (受信操作) に変更します。
カテゴリ ツリーで、[ メイン カテゴリ] をクリックします。 これにより、使用可能なカテゴリと操作の一覧に 1 つの受信操作が設定されます。 カテゴリはありません。
利用可能なカテゴリと操作で、OnReceiveEcho 操作を選択します。 [ 追加] をクリックして、選択した操作を生成された WCF インターフェイスの一部にします。
[ OK] を クリックして WCF インターフェイスを生成します。 これにより、アプリケーション構成ファイル (app.config)、WCF インターフェイス (EchoAdapterBindingInterface.cs)、WCF サービス (EchoAdapterBindingService.cs) がプロジェクトに追加されます。
Visual Studio メニューの [ファイル] をクリックし、[すべて保存] を選択します。
エコー アダプターをテストする
ソリューション エクスプローラーで、 EchoAdapterBindingService.cs ファイルをダブルクリックします。
Visual Studio エディターの OnReceiveEcho メソッド内で、既存の実装を次のように置き換えます。
System.Console.WriteLine("path = " + path + ", len = " + length);
ソリューション エクスプローラーで、 Program.cs ファイルをダブルクリックします。
Visual Studio エディターの Main メソッド内で、WCF サービスをホストする次のコードを追加します。
try { // Create a ServiceHost for the EchoServiceImpl type // and use the base address from app.config System.ServiceModel.ServiceHost host = new System.ServiceModel.ServiceHost(typeof(EchoAdapterBindingNamespace.EchoAdapterBindingService)); // Open the ServiceHost to start listening for messages host.Open(); Console.WriteLine("The service is ready."); Console.WriteLine("Press <ENTER> to terminate service."); Console.ReadLine(); // Close the ServiceHost host.Close(); } catch (TimeoutException ex) { Console.WriteLine(ex.Message); Console.WriteLine(); } catch (System.ServiceModel.CommunicationException ex) { Console.WriteLine(ex.Message); Console.WriteLine(); }
Visual Studio の [ ファイル ] メニューの [ すべて保存] をクリックします。
F5 キーを押してサンプルを開始します。
拡張子が "txt" のファイルを、このチュートリアルで前に指定したディレクトリにドロップします。 プログラムの出力ウィンドウには、次のような情報が表示されます。
サービスの準備ができました。
<ENTER> キーを押してサービスを終了します。
path = file:///C:/Tutorial/InboundTest/InboundTest.txt, len = 229179
Enter キーを押してサービスを停止します。
私は何をしましたか?
この手順では、「 チュートリアル 1: エコー アダプターの開発」で開発したエコー アダプターによって公開される受信操作のテスト アプリケーションを作成しました。 これを行うには、Visual Studio プロジェクトを作成し、WCF サービスを生成し、WCF サービスをホストするコードを提供しました。 最後に、テスト アプリケーションを実行しました。
次のステップ
これは、チュートリアルの最後の手順です。 受信操作の詳細については、「 Microsoft.ServiceModel.Channels.Common.IInboundHandler
」を参照してください。