次の方法で共有


手順 2: エコー アダプターの受信ハンドラーをテストする

手順 2/2

完了までの時間: 10 分

この手順では、エコー アダプターによって提供される受信サービスをテストします。 これを行うには、Visual Studio、アダプター サービス参照の追加、Visual Studio Plug-In、およびカスタム コードを使用します。

[前提条件]

この手順を完了するには、 チュートリアル 1: エコー アダプターの開発を完了している必要があります。 この手順は、 手順 1: エコー アダプターの送信ハンドラーをテストする手順とは無関係に完了できます。

Visual Studio プロジェクトを作成する

  1. Visual Studio を起動します。

  2. Visual Studio の [ ファイル ] メニューの [ 新規作成] をポイントし、[ プロジェクト] をクリックします。

  3. [新しいプロジェクト ] ダイアログ ボックスで、次の操作を行います。

    これを使用する 目的
    プロジェクトの種類 [ Visual C#] をクリックします。
    テンプレート [ コンソール アプリケーション] をクリックします。
    名前 「ConsumeEchoAdapter_Inbound」と入力します。
    場所 「C:\Tutorials」と入力します
    ソリューション名 「ConsumeEchoAdapter_Inbound」と入力します。
  4. OK をクリックします。

  5. Visual Studio の [ ファイル ] メニューの [ すべて保存] をクリックします。

WCF サービスを閲覧、検索、生成する

  1. Visual Studio ソリューション ウィンドウで、プロジェクト ConsumeEchoAdapter_Inbound 右クリックし、[ アダプター サービス参照の追加 ] を選択して、アダプター サービス参照の追加プラグインを起動します。

  2. [ アダプター サービス参照の追加] 画面で、バインドを選択します。 これを行うには、 echoAdapterBindingV2 を選択します。

  3. 次に、[構成] をクリックして、アダプターと接続のプロパティを 構成します。 [アダプターの 構成 ] 画面が開きます。

  4. [ アダプターの構成 ] 画面で、[ バインドのプロパティ ] タブを選択してアダプターのプロパティを構成します。 カスタムエコーアダプタカテゴリ 受信その他 が表示されていることに注意してください。 [ その他 ] カテゴリの [ InboundFileSystemWatcherFolder ] をクリックし、監視するディレクトリを入力します。

  5. [ OK] を クリックして [アダプターの構成 ] 画面を閉じ、[ アダプター サービス参照の追加] 画面に戻ります。

  6. 次に、[ 接続 ] をクリックしてエコー アダプター (およびサポートされている架空の基幹業務システム) に接続します。 しばらくすると、接続の状態が [接続済み ] に変わり、[カテゴリの選択] の下にある カテゴリ ツリーが設定されます。

  7. 使用可能な受信操作を表示するには、 サービス コントラクトの種類サービス (受信操作) に変更します。

  8. カテゴリ ツリーで、[ メイン カテゴリ] をクリックします。 これにより、使用可能なカテゴリと操作の一覧に 1 つの受信操作が設定されます。 カテゴリはありません。

  9. 利用可能なカテゴリと操作で、OnReceiveEcho 操作を選択します。 [ 追加] をクリックして、選択した操作を生成された WCF インターフェイスの一部にします。

  10. [ OK] を クリックして WCF インターフェイスを生成します。 これにより、アプリケーション構成ファイル (app.config)、WCF インターフェイス (EchoAdapterBindingInterface.cs)、WCF サービス (EchoAdapterBindingService.cs) がプロジェクトに追加されます。

  11. Visual Studio メニューの [ファイル] をクリックし、[すべて保存] を選択します。

エコー アダプターをテストする

  1. ソリューション エクスプローラーで、 EchoAdapterBindingService.cs ファイルをダブルクリックします。

  2. Visual Studio エディターの OnReceiveEcho メソッド内で、既存の実装を次のように置き換えます。

    System.Console.WriteLine("path = " + path + ", len = " + length);
    
  3. ソリューション エクスプローラーで、 Program.cs ファイルをダブルクリックします。

  4. 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();
    }
    
  5. Visual Studio の [ ファイル ] メニューの [ すべて保存] をクリックします。

  6. F5 キーを押してサンプルを開始します。

  7. 拡張子が "txt" のファイルを、このチュートリアルで前に指定したディレクトリにドロップします。 プログラムの出力ウィンドウには、次のような情報が表示されます。

    サービスの準備ができました。

    <ENTER> キーを押してサービスを終了します。

    path = file:///C:/Tutorial/InboundTest/InboundTest.txt, len = 229179

  8. Enter キーを押してサービスを停止します。

私は何をしましたか?

この手順では、「 チュートリアル 1: エコー アダプターの開発」で開発したエコー アダプターによって公開される受信操作のテスト アプリケーションを作成しました。 これを行うには、Visual Studio プロジェクトを作成し、WCF サービスを生成し、WCF サービスをホストするコードを提供しました。 最後に、テスト アプリケーションを実行しました。

次のステップ

これは、チュートリアルの最後の手順です。 受信操作の詳細については、「 Microsoft.ServiceModel.Channels.Common.IInboundHandler」を参照してください。

こちらもご覧ください

チュートリアル 2: .NET からエコー アダプターを使用するチュートリアル 1: エコー アダプターを開発する