为服务器、站点、应用程序或虚拟目录配置 WCF 和 WF:“工作流主机管理”选项卡

使用 “为服务器配置 WCF 和 WF”“为站点配置 WCF 和 WF”“为应用程序配置 WCF 和 WF”“为目录配置 WCF 和 WF” 对话框中的“工作流主机管理”配置服务的以下托管功能。

对话框字段

字段

描述

启用实例控制

选中此复选框可启用此服务的控制实例。如果您尚未为包含该服务的应用程序启用 net.pipe 协议,则在配置为应用程序或虚拟目录级别的情况下,将会在选项卡顶部看到以下警告消息。

警告

“实例控制不起作用,因为应用程序的启用协议列表中的 net.pipe 协议丢失”

当您选择“启用实例控制”选项,且包含该服务的应用程序上尚未启用 net.pipe 协议时,您将看到包含以下文本的消息框。

警告

实例控制要求在应用程序上启用 net.pipe 协议。您希望在应用更改时启用 net.pipe 吗?

如果单击“是”并应用设置,则将在应用程序上启用 net.pipe 协议。或者,您也可以按照下述步骤手动启用应用程序的 net.pipe 协议。

  1. 在 IIS Manager 中,右键单击包含该服务的应用程序的名称。

  2. 指向“管理应用程序”,然后单击“高级设置”以启动。

  3. 在“高级设置”对话框中,将 ,(逗号)字符后跟 net.pipe 添加到“已启用的协议”字段值中。

  4. 单击“确定”以关闭“高级设置”对话框,然后单击“关闭”以关闭“站点绑定”对话框。

您还需要为包含服务的网站启用 net.pipe 绑定。在站点级别启用 net.pipe 绑定:

  1. 右键单击 IIS Manager 中的站点名称,单击“编辑绑定”以启动“站点绑定”对话框。

  2. 如果您在“站点绑定”对话框中未看到 net.pipe 绑定,请单击“添加”以启动“添加站点绑定”对话框。

  3. 在“添加站点绑定”对话框中,为“类型”字段选择 net.pipe,并为“绑定”字段键入 *

  4. 单击“确定”以关闭“添加站点绑定”对话框,然后单击“关闭”以关闭“站点绑定”对话框。

如果在站点上未启用 net.pipe 绑定,您将会在站点级别看到以下警告消息。

警告

实例控件未运行,因为该网站未启用 net.pipe 绑定。

此外,您还将会在服务器级别始终看到以下警告消息。将不会在站点级别看到此消息。但是,在站点级别,正如本主题中所提到的,您将会在没有为站点启用 net.pipe 绑定时看到警告消息。

警告

实例控件可能未运行。对于需要实例控件的应用程序,请确保将 net.pipe 协议包含在已启用的协议列表中,并确保 net.pipe 绑定包含在站点的绑定列表中。

在空闲时卸载实例

选中此复选框可从内存中卸载某一时间段内处于空闲状态的工作流服务实例,并将其暂留在暂留数据库中。

卸载超时(以秒为单位)

指定在主机从内存中卸载实例并且将实例状态信息暂留在暂留数据库之前工作流服务实例可以处于空闲状态的时间长度。此参数的默认值为 60 秒。如果该值设置为 0,则主机将在实例变为空闲状态时立即主动暂留并卸载实例。允许的最大值为 TimeSpan.MaxValue。

在空闲时暂留实例

选中此复选框可将某一时间段内处于空闲状态的工作流服务实例的状态信息暂留在暂留数据库中。这种情况下,不会从内存中卸载实例。此属性的默认值为 TimeSpan.MaxValue。

卸载超时(以秒为单位)

指定在主机将实例暂留在暂留数据库之前工作流服务实例可以处于空闲状态的时间长度。仅当选中“处于空闲状态时暂留”选项时,才能为此字段指定值。此参数的默认值为 TimeSpan.MaxValue。如果此参数的值设置为 TimeSpan.MaxValue,则当工作流实例处于空闲状态时运行时绝不会对其进行暂留。如果该值设置为 0,则主机将在实例变为空闲状态时立即主动暂留实例。此外,如果同时选中“处于空闲状态时暂留”和“处于空闲状态时卸载”,则“暂留超时”值需要小于“卸载超时”值,否则将不会暂留实例。

对未处理异常的操作

指定实例遇到未处理异常时主机应该采取的操作。允许值包括:Abandon、AbandonAndSuspend、Terminate 和 Cancel。默认值为 AbandonAndSuspend。以下列表为您提供这些选项的描述。

  • Abandon。服务主机中止内存中的工作流服务实例。数据库中该实例的状态保持“Active”。工作流管理服务将从暂留数据库中保存的最近暂留点恢复已放弃的工作流实例。

  • Abandon and suspend。服务主机中止内存中的工作流服务实例,并且将暂留数据库中该实例的状态设置为“已挂起”。以后使用 IIS Manager 可以恢复或终止已挂起的实例。工作流管理服务不会自动恢复这些实例。

  • Terminate。服务主机中止内存中的工作流服务实例,并且将暂留数据库中该实例的状态设置为“已完成(已终止)”。以后无法恢复已终止的实例。

  • Cancel。服务主机取消引起要调用的所有取消处理程序的工作流服务实例以便工作流顺利终止,并且将暂留数据库中该实例的状态设置为“已完成(已取消)”。

相关配置

“工作流主机管理”选项卡中的字段与配置文件中的以下元素和属性一一对应。

<behaviors>
    <serviceBehaviors>
        <behavior name="TutorialServiceConfiguration">
            <workflowInstanceManagement authorizedWindowsGroup="AS_Administrators" /><workflowUnhandledException action="AbandonAndSuspend" /><workflowIdle timeToUnload="00:01:00" timeToPersist="00:00:20" />
        </behavior>
   </serviceBehaviors>
</behaviors>

以下列表包含与此对话框中的用户界面元素相关联的 XML 元素或属性。

UI 元素 XML 元素或属性 注释

启用实例控制

workflowInstanceManagment 元素

如果选中此选项,workflowInstanceManagement 元素(如果该元素不存在)将添加到与服务相关联的 behavior 元素。如果未选中此选项,则会删除 workflowInstanceManagement 元素。

Tip技巧
workflowInstanceManagement 元素上的 authorizedWindowsGroup 属性将设置为 AS_Administrators 组。此选项卡不允许您更改此属性的值。若要为此角色分配其他 Windows 组,请在配置文件中直接更改此属性的值。

在空闲时卸载实例

workflowIdle 元素

如果选中此选项,workflowIdle 元素(如果 workflowIdle 元素不存在)将添加到与服务相关联的 behavior 元素。如果未选中此选项:如果未选中“处于空闲状态时暂留”选项,则会删除 workflowIdle 元素;如果选中“处于空闲状态时暂留”选项,则会暂留 workflowIdle 元素,并且 timeToUnload 属性的值将设置为 TimeSpan.MaxValue。

卸载超时(以秒为单位)

workflowIdle 元素上的 timeToUnload 属性

workflowIdle 元素的 timeToUnload 属性的值将设置为为此字段指定的值。

在空闲时暂留实例

workflowIdle 元素

如果选中此选项,workflowIdle 元素(如果该元素不存在)将添加到与服务相关联的 behavior 元素,并且添加 <workflowIdle> 元素,并且 workflowIdle 上的 timeToPersist 属性的值将设置为为“暂留超时”字段指定的值,timeToUnload 属性的值将设置为 TimeSpan.MaxValue。如果未选中此选项:如果未选中“unloadOnIdle”选项的值,则会删除 workflowIdle 元素;如果选中“unloadOnIdle”选项,则会暂留 workflowIdle 元素,并且 timeToPersist 属性的值将设置为 TimeSpan.MaxValue 秒。

卸载超时(以秒为单位)

workflowIdle 元素上的 timeToPersist 属性

workflowIdle 元素的 timeToPersist 属性的值将设置为为“暂留超时(以秒为单位)”字段指定的值。

对未处理异常的操作

workflowUnhandledException 元素上的 action 属性

当您为此字段选择值时,workflowUnhandledException 元素(如果该元素不存在)将添加到配置文件中,并且该元素上的 action 属性的值将设置为为此字段指定的值。

  2011-12-05