手順 2: エコー アダプターの受信ハンドラーをテストする
完了までの時間: 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
。