步骤 2:测试 Echo 适配器的入站处理程序

步骤 2/2

完成时间: 10 分钟

在此步骤中,测试 Echo 适配器提供的入站服务。 可以使用 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. “配置适配器” 屏幕中,选择“ 绑定属性” 选项卡以配置适配器属性。 请注意,显示了自定义回显适配器类别 “入站 ”和 “杂项 ”。 在 “杂项 ”类别下,单击“ InboundFileSystemWatcherFolder ”,然后输入要监视的目录。

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

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

  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 适配器