允许你配置 SqlWorkflowInstanceStore 该功能的服务行为,该功能支持将工作流服务实例的状态信息保存到 SQL Server 2005 或 SQL Server 2008 数据库中。 有关此功能的详细信息,请参阅 SQL 工作流实例存储。
<configuration>
<system.ServiceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<sqlWorkflowInstanceStore>
Syntax
<behaviors>
<serviceBehaviors>
<behavior name="String">
<sqlWorkflowInstanceStore connectionStringName="String"
hostLockRenewalPeriod="TimeSpan"
instanceCompletionAction="DeleteNothing/DeleteAll"
instanceEncodingAction="None/GZip"
instanceLockedExceptionAction="NoRetry/BasicRetry/AggressiveRetry"
runnableInstancesDetectionPeriod="TimeSpan" />
</behavior>
</serviceBehaviors>
</behaviors>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
connectionString |
包含用于连接到基础持久性数据库的连接字符串的字符串。 |
connectionStringName |
包含数据库服务器的命名连接字符串的字符串。 命名连接字符串的示例为“DefaultConnectionString”。 |
hostLockRenewalPeriod |
一个 Timespan 值,该值指定主机必须在实例上续订锁的时间段。 如果主机未在指定时间段内续订锁,则实例将解锁,并且可能由另一台主机选取。 卸载工作流意味着它也会持久化。 如果此属性设置为零,则工作流实例在工作流空闲后立即持久保存和卸载。 将此属性设置为 TimeSpan.MaxValue 可有效禁用卸载作。 从不卸载空闲工作流实例。 |
instanceCompletionAction |
一个值,该值指定工作流实例数据是在工作流实例完成后保留在持久性存储区中,还是在该时间点将其删除。 此值的类型 InstanceCompletionAction。 枚举作包括从持久性存储中删除实例数据,或者在实例完成其作后不从持久性存储中删除实例数据。 完成后保留实例会导致持久性数据库快速增长,这会影响数据库的性能。 应配置数据库清除策略来定期删除这些记录,以确保数据库的性能处于满足性能要求的级别。 |
instanceEncodingOption |
一个可选值,该值指定在将信息保存在持久性存储中之前是否使用 GZip 算法压缩实例状态信息。 此值的类型 InstanceEncodingOption。 此属性 None的可能值为:不指定压缩,并 GZip指定压缩实例数据并使用 gzip 算法。 |
instanceLockedExceptionAction |
一个值,该值指定在响应主机尝试锁定实例时引发的异常时发生的作,因为该实例当前被另一个主机锁定。 此值的类型 InstanceLockedExceptionAction。 此字段允许的选项包括:无、基本重试和主动重试。 默认值为 None。 以下列表提供了这三个选项的说明: - 无。 服务主机不会尝试锁定实例并将该实例传递给 InstanceLockedException 调用方。 - 基本重试。 服务主机重新尝试使用线性重试间隔锁定实例,并将异常传递给序列末尾的调用方。 - 主动重试。 服务主机重新尝试锁定实例,其延迟呈指数级增加,并在序列末尾传递给 InstanceLockedException 调用方。 |
runnableInstancesDetectionPeriod |
子元素
没有。
父元素
| 元素 | Description |
|---|---|
| < >serviceBehaviors 的行为<> | 指定行为元素。 |