OperationsSamples(BizTalk Server 示例)
OperationsSamples 示例演示如何使用操作对象模型执行操作活动。
本示例的用途
此示例对下列内容进行了说明:
如何使用跟踪配置文件通过活动注释业务流程。
如何使用 BAM 跟踪数据库查找活动 ID,然后使用此 ID 查找相关业务流程实例。
如何使用 MessageFlow 类和其他 Operations 对象模型类和 API 查找和使用消息流。
如何使用从 Instance 类派生的类访问端口、消息和其他 实例 。
本示例包含大量有用的助手类和方法来支持上面的操作。 下一部分讨论了这些以及其他代码重点。
此示例的设计方式和原因
本示例旨在演示操作对象模型中的多个关键类和方法,并显示如何查询公用 BAM 跟踪数据库。
操作对象模型包含的类可提供处理 BizTalk Server 中的消息和其他实例的功能。
使用 BAM 活动 ID
本示例显示通过使用业务数据如何与 BAM 交互,以及如何使用跟踪数据库中的公用视图在消息框中查找实时消息。 本示例通过检索与采购订单编号对应的业务流程 ID 来执行此操作。 为成功执行此任务,本示例必须执行下列操作:
使用业务数据(采购订单编号)查找活动 ID。 该步骤将业务数据映射到可以用于查找其他信息的内部 ID。
检索与活动 ID 相关的 BAM 引用。
查找引用业务流程的揃“BizTalkService”类型的引用。 如果找到,则返回其实例 ID。
此功能由 BAMWebService.GetOrchestrationID 静态方法和关联的帮助程序方法(包括 BamManagementService.cs 源文件中的类和方法)提供。
挂起、终止和恢复实例
示例程序包括一个 Samples.OperationOnInstance 方法,该方法采用操作和实例 ID,并在实例上执行指定的操作。 有效操作由 InstanceOperation 枚举定义,包括 Suspend、Terminate 和 Resume。 这些操作直接映射到 BizTalkOperations 类的方法-SuspendInstance、 TerminateInstance 和 ResumeInstance。
请注意,此方法可处理 ArgumentException 和 SqlException 异常。 处理操作对象模型中的类和方法时必须谨慎预测异常(包括 SqlException)。
注意
许多操作方法都需要对数据库的访问权限。 应预测这些方法引发的异常,并进行相应处理。
检索所有实时消息
使用操作对象模型迭代所有可用实时消息非常简单,如以下代码段所示:
BizTalkOperations _operations = new BizTalkOperations()
IEnumerable messages = _operations.GetMessages();
foreach (BizTalkMessage msg in messages)
…
OperationsSamples 程序进一步演示如何访问每个消息的相关信息,包括消息 ID、消息类型以及消息部分的数目和类型。 你可以修改此代码,并将其用于必须在 BizTalk Server 中循环访问大多数或所有可用实时消息的情况。
注意
可能有成百上千个可用消息。 扫描整个列表可能会对性能产生负面影响。
本示例所在的位置
本示例位于以下 SDK 位置中:
<示例路径>\管理员\OperationsOM\OperationsSamples\
下表显示了本示例中的文件及其用途说明:
文件 | 说明 |
---|---|
BamManagementService.cs | BAM Web Services 的 Web 代理类。 |
Cleanup.bat | 删除示例业务流程,并将 HelloWorld 示例还原为其原始状态。 |
HelloOrchestration.btt | 用于将 BizTalk 事件源映射到 BAM 目标活动的跟踪配置文件。 |
HelloOrchestration.xls | BAM 定义样式表。 |
OperationsSamples.cs | 包含演示操作对象模型的各个方面的代码的 C# 源文件。 |
OperationsSamples.csproj、OperationsSamples.sln 和 AssemblyInfo.cs | 本示例的项目、解决方案和程序集信息文件。 |
Setup.bat | 用于通过修改 HelloWorld 业务流程示例来生成和初始化本示例。 该文件将安装示例业务流程、部署 BAM 活动定义和跟踪配置文件编辑器文件、配置端口并将示例文件放置到接收位置中。 |
如何使用本示例
使用本示例可以浏览可在操作对象模型中使用的功能。 修改现有例程以查找消息,并以不同方式处理消息,或者添加复制 BizTalk Server 管理控制台中的部分组中心的新代码。
你也可以考虑下面一些任务:
编写用于将组中心页的最常用子集复制到自定义应用程序的应用程序。
编写用于创建端口并为新贸易合作伙伴发送测试消息的自定义快速部署应用程序。
将示例程序修改为向屏幕、XML 文件或文本报告提供单个或一系列采购订单的相关信息的命令行实用工具。
安装示例支持文件
本部分可引导你完成安装和运行本示例所需的过程。
注意
在安装和运行本示例之前,必须验证是否已安装并且正在运行 BAM。 如果尚未安装 BAM,本示例将不会运行。
编译并安装此示例的支持文件
在命令窗口中,导航到下面的文件夹:
<Samples Path>\Admin\OperationsOM\OperationSamples
运行 Setup.bat,该文件将执行下列操作:
创建发送目录和接收目录。
创建并启动发送端口和接收端口
编译并部署 \Orchestrations\HelloWorld 文件夹中的
<Samples Path>
HelloWorld 业务流程。修改 HelloWorld 业务流程的公钥标记
部署 BAM 活动定义和跟踪配置文件编辑器文件
重命名输出目录
注意
若要中止安装,请在第一个“按任意键继续”提示下按 Ctrl+C。 此操作将停止脚本,并将 HelloWorld 示例保留在其原始状态。 在第二个和最终提示下按 Ctrl+C 不会停止安装。 在这种情况下,请运行 Cleanup.bat 卸载 OperationsOM 示例并还原 HelloWorld 示例。
运行本示例
使用以下过程运行 OperationsOM 示例。
编译并运行示例
单击“开始”,选择“所有程序”,选择“Microsoft BizTalk Server”,然后选择“BizTalk Server管理”。
在BizTalk Server管理控制台中,依次展开“BizTalk Server管理”、“BizTalk 组”、“平台设置”和“主机实例”。
右键单击 BizTalkServerApplication,然后单击“ 重启”。
注意
如果自从配置产品以来尚未重新启动 BizTalkServerApplication 主机实例,可能需要重新启动此主机实例以便为 BAM 设置正确的工作数据库。
从 Windows 资源管理器,导航到以下文件夹:
<Samples Path>\Admin\OperationsOM\OperationSamples
双击 OperationsOM.sln 项目文件以将其加载到 Visual Studio 中。
按 F5 键运行本示例。
-- 或者 --
在“生成”菜单上,单击“重新生成解决方案” 。 生成完成后,使用 Windows 资源管理器导航到
<Samples Path>\Admin\OperationsOM\OperationSamples\bin\Debug,
,然后双击 OperationsSamples.exe。
本示例中使用的类或方法
- Microsoft.BizTalk.Operations.BizTalkOperations
- Microsoft.BizTalk.Operations.MessageFlow
- Microsoft.BizTalk.Operations.SendPortInstance
- Microsoft.BizTalk.Operations.RoutingFailureInstance
- Microsoft.BizTalk.Operations.OrchestrationInstance
- Microsoft.BizTalk.Operations.MSMQtInstance
- Microsoft.BizTalk.Operations.TrackedServiceInstance