如何配置范围形状

“作用域”形状为其内容提供上下文框架。 范围形状的第一个块是上下文块或正文,其中发生了作用域的基本操作;它类似于 try/catch 语句中的 try 块。 在正文之后, “作用域” 形状还可以包含一个或多个异常处理程序块和一个补偿块。

注意

在BizTalk Server和SQL Server位于不同计算机上的多台计算机环境中,如果协调世界时 (UTC) 在两台计算机上不同,则为 Scope 形状配置的 Timeout 属性可能会提前触发,因为BizTalk Server 和SQL Server计算机未同步。 请注意,这不是一个时区问题,因为世界时不受时区影响。

将作用域形状配置为事务边界

  1. 在属性窗口中,将“事务类型”属性设置为 AtomicLong Running

    注意

    业务流程本身必须为长期事务,这样您才能将“事务类型”设置为“原子”或“长期”。

  2. 如果事务类型设置为 Atomic,则在属性窗口中指定以下属性:

    属性 说明
    Batch 布尔值,确定此事务是否可与多个业务流程实例中的其他事务一起成批处理。 由于 BizTalk Server 不支持对多个业务流程实例中的原子事务进行成批处理,所以 BizTalk Server 中从不使用此属性。 在将来版本中将弃用此属性。
    隔离级别 确定并发事务中数据可访问的程度:

    - 读取已提交 - 防止所选事务访问并发事务中的数据修改,直到提交。 此选项是 Microsoft SQL Server 的默认设置。
    - 可重复读取 - 在所选事务完成之前需要读取锁。
    - 可序列化 - 防止并发事务在所选事务完成之前进行数据修改。 此选项是最严格的隔离级别。
    重试 布尔值,确定是否在出错时重试此事务。 默认值为 True注意: 如果引发 Microsoft.XLANG.BaseTypes.RetryTransactionException,或者业务流程引擎无法存储其状态或提交事务,则将重试原子事务。
    超时 确定事务失败之前处于非活动状态的时间(以秒计)。 如果不想使用超时,可将此属性值设置为 0。 注意: 这是 DTC 超时,不由业务流程引擎强制执行。 仅对于原子事务,该引擎不会中断事务。 该引擎会在提交前正常运行,只有在通过 DTC 事务中的某一对象参与该事务时,该引擎才会在提交时失败。
  3. 如果事务类型设置为“长时间运行”,则在属性窗口中指定以下属性:

    属性 说明
    超时 确定事务超时并被视为失败事务之前经过的时间(以秒计)。 如果不想使用超时,可将此属性值设置为 0。

配置作用域形状以包含局部变量

  1. 在“业务流程视图”窗口中,双击作用域。

  2. 右键单击作用域下的“变量”文件夹,然后单击“ 新建变量”。

  3. 从如何添加业务流程变量中的“添加变量”中的步骤 2 继续操作。