步骤 2:测试 Echo 适配器的入站处理程序
完成时间: 10 分钟
在此步骤中,测试 Echo 适配器提供的入站服务。 可以使用 Visual Studio、添加适配器服务参考 Visual Studio Plug-In 和自定义代码执行此操作。
先决条件
若要完成此步骤,必须已完成 教程 1:开发 Echo 适配器。 此步骤可以独立于 步骤 1:测试 Echo 适配器的出站处理程序完成。
创建 Visual Studio 项目
启动 Visual Studio。
在 Visual Studio 的“ 文件 ”菜单上,指向“ 新建”,然后单击“ 项目”。
在“新建项目” 对话框中执行以下操作:
使用此选项 要执行此操作 项目类型 单击“ Visual C#”。 模板 单击“控制台应用程序”。 名称 键入 “ConsumeEchoAdapter_Inbound”。 位置 键入 C:\Tutorials。 解决方案名称 键入 “ConsumeEchoAdapter_Inbound”。 单击 “确定” 。
在 Visual Studio 的“ 文件 ”菜单上,单击“ 全部保存”。
浏览、搜索和生成 WCF 服务
在 Visual Studio“解决方案”窗格中,右键单击 “ConsumeEchoAdapter_Inbound 项目”,然后选择 “添加适配器服务引用 ”以启动“添加适配器服务引用”插件。
在 “添加适配器服务引用” 屏幕中,选择一个绑定。 这是通过选择 echoAdapterBindingV2 来完成的。
接下来,通过单击“配置”来 配置适配器和连接属性。 这将打开 “配置适配器” 屏幕。
在 “配置适配器” 屏幕中,选择“ 绑定属性” 选项卡以配置适配器属性。 请注意,显示了自定义回显适配器类别 “入站 ”和 “杂项 ”。 在 “杂项 ”类别下,单击“ InboundFileSystemWatcherFolder ”,然后输入要监视的目录。
单击 “确定 ”关闭 “配置适配器” 屏幕,并返回到 “添加适配器服务引用 ”屏幕。
接下来,单击“ 连接 ”以连接到 Echo Adapter (它支持) 的假设业务线系统。 片刻之后,连接状态应更改为 “已连接 ”,并且应填充 “选择类别) 下的”类别 树“ (。
若要查看可用的入站操作,请将 服务协定类型 更改为 服务 (入站操作) 。
在“类别树”中,单击“ 主类别”。 这会使用单个入站操作填充可用类别和操作的列表。 没有类别。
在 “可用类别和操作”中,选择“ OnReceiveEcho ”操作。 单击“ 添加 ”,使所选操作成为生成的 WCF 接口的一部分。
单击“ 确定” 生成 WCF 接口。 这会将应用程序配置文件 (app.config) 、wcf 接口 (EchoAdapterBindingInterface.cs) 和 WCF 服务 (EchoAdapterBindingService.cs) 添加到项目中。
单击 Visual Studio 菜单上的“文件”,然后选择“全部保存”。
测试 Echo 适配器
在 解决方案资源管理器 中,双击 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:开发 Echo 适配器中开发的 Echo 适配器公开的入站操作创建了一个测试应用程序。 为此,你创建了一个 Visual Studio 项目,生成了 WCF 服务,并提供了用于托管 WCF 服务的代码。 最后,运行测试应用程序。
后续步骤
这是本教程的最后一步。 有关入站操作的详细信息,请参阅 Microsoft.ServiceModel.Channels.Common.IInboundHandler
。