使用 BizTalk Server 在 SQL 中的接收位置明细之后接收查询通知

假设有一个 BizTalk 应用程序,该应用程序在对 EMPLOYEE 表进行更改时接收数据库更改通知消息。 如果作为 BizTalk 应用程序的一部分配置的接收位置中断,同时将记录添加到 EMPLOYEE 表中,则不会收到最近添加的记录的通知。 你也不会知道接收位置何时再次可用。 SQL 适配器公开一个绑定属性 NotifyOnListenerStart,你可以将该属性配置为获取接收位置已恢复的通知。 可以为 NotifyOnListenerStart 绑定属性指定以下值:

  • 将此属性设置为 True,以便在接收位置恢复后立即接收通知,通知接收位置可用。

  • 将此属性设置为 False,以便在接收位置恢复后,不会收到通知通知接收位置已恢复。

    默认值为 True。

配置 SQL 适配器行为

对于任一方法,在生成元数据或配置 BizTalk 应用程序时都不需要执行任何特定任务。 只需在 WCF-Custom 或 WCF-SQL 接收位置上相应地设置 NotifyOnListenerStart 绑定属性。 若要创建 BizTalk 应用程序,必须执行使用 BizTalk Server 从 SQL 增量接收查询通知中所述的相同任务集。 但是,在使用 BizTalk Server 配置 BizTalk 应用程序时,可以尝试更改 NotifyOnListenerStart 绑定属性的值,并查看这两种配置的差异。

下图演示了如何根据 NotifyOnListenerStart 绑定属性的值接收通知。

为通知配置 SQL 适配器

请注意,在第一个方案中,当 NotifyOnListenerStart 设置为 true 并且记录在接收位置关闭时插入数据库表中时,适配器仅在接收位置恢复时向你发送通知消息。 适配器不执行任何操作来处理在接收位置关闭时插入的记录。 适配器客户端必须在其应用程序中实现相关逻辑,以处理在接收位置关闭时插入的记录。

另请参阅

使用 BizTalk Server 接收 SQL 查询通知