步骤 2:测试回声适配器的输入处理程序

第 2 步(共 2 步

完成时间: 10 分钟

在此步骤中,将测试 Echo Adapter 提供的入站服务。 使用 Visual Studio、添加适配器服务引用 Visual Studio Plug-In 和自定义代码来执行此任务。

先决条件

若要完成此步骤,必须已完成 教程 1:开发 Echo 适配器。 此步骤可以独立完成,不受 步骤 1:测试 Echo 适配器的出站处理程序的影响。

创建 Visual Studio 项目

  1. 启动 Visual Studio。

  2. 在 Visual Studio 的“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。

  3. 在“新建项目” 对话框中执行以下操作:

    用这个 要执行的操作
    项目类型 单击 “Visual C#”。
    模板 单击 “控制台应用程序”。
    名称 键入 ConsumeEchoAdapter_Inbound
    位置 键入 C:\Tutorials
    解决方案名称 键入 ConsumeEchoAdapter_Inbound
  4. 单击 “确定”

  5. 在 Visual Studio 的 “文件 ”菜单上,单击“ 全部保存”。

浏览、搜索和生成 WCF 服务

  1. 在 Visual Studio 解决方案窗格中,右键单击 ConsumeEchoAdapter_Inbound 项目,然后选择 “添加适配器服务引用 ”以启动“添加适配器服务引用”插件。

  2. “添加适配器服务引用 ”屏幕中,选择绑定。 这是通过选择 echoAdapterBindingV2 来完成的。

  3. 接下来,单击“ 配置”配置适配器和连接属性。 这将打开 “配置适配器 ”屏幕。

  4. “配置适配器 ”屏幕中,选择“ 绑定属性 ”选项卡以配置适配器属性。 请注意,将显示自定义回显适配器类别 入站杂项 。 在 Misc 类别下,单击 InboundFileSystemWatcherFolder ,然后输入要监视的目录。

  5. 单击 “确定 ”关闭 “配置适配器 ”屏幕,然后返回到 “添加适配器服务引用 ”屏幕。

  6. 接下来,单击 “连接 ”以连接到 Echo 适配器(以及它支持的假设业务线系统)。 片刻后,连接状态应更改为 “已连接 ”,“ 选择类别”下的“类别树”应填充。

  7. 若要查看可用的入站作,请将服务协定类型更改为“服务”(入站作)。

  8. 在类别树中,单击 “主类别”。 这将使用一个入站操作来填充可用类别和操作的列表。 没有类别。

  9. 可用类别和操作中,选择 OnReceiveEcho 操作。 单击“ 添加 ”使所选作部分成为生成的 WCF 接口的一部分。

  10. 单击“ 确定 ”以生成 WCF 接口。 这会向项目添加应用程序配置文件(app.config)、WCF 接口(EchoAdapterBindingInterface.cs)和 WCF 服务(EchoAdapterBindingService.cs)。

  11. Visual Studio 菜单上单击“文件”,然后选择“全部保存”。

测试 Echo 适配器

  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:开发 Echo 适配器中开发的 Echo 适配器所公开的入站操作。 为此,你创建了一个 Visual Studio 项目,生成了 WCF 服务,并提供了用于托管 WCF 服务的代码。 最后,运行测试应用程序。

后续步骤

这是本教程的最后一步。 有关入站操作的详细信息,请参见 Microsoft.ServiceModel.Channels.Common.IInboundHandler

另请参阅

教程 2:使用 .NET 中的 Echo 适配器教程 1:开发 Echo 适配器