完成时间: 10 分钟
在此步骤中,将测试 Echo Adapter 提供的入站服务。 使用 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 来完成的。
接下来,单击“ 配置”配置适配器和连接属性。 这将打开 “配置适配器 ”屏幕。
在 “配置适配器 ”屏幕中,选择“ 绑定属性 ”选项卡以配置适配器属性。 请注意,将显示自定义回显适配器类别 入站 和 杂项 。 在 Misc 类别下,单击 InboundFileSystemWatcherFolder ,然后输入要监视的目录。
单击 “确定 ”关闭 “配置适配器 ”屏幕,然后返回到 “添加适配器服务引用 ”屏幕。
接下来,单击 “连接 ”以连接到 Echo 适配器(以及它支持的假设业务线系统)。 片刻后,连接状态应更改为 “已连接 ”,“ 选择类别”下的“类别树”应填充。
若要查看可用的入站作,请将服务协定类型更改为“服务”(入站作)。
在类别树中,单击 “主类别”。 这将使用一个入站操作来填充可用类别和操作的列表。 没有类别。
在 可用类别和操作中,选择 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
。