【问题标题】:canCreateInstance in Windows Workflow Foundation (WF) serviceWindows Workflow Foundation (WF) 服务中的 canCreateInstance
【发布时间】:2011-12-06 13:15:55
【问题描述】:

据我了解,如果我点击canCreateInstance,那么对于到达服务的每个请求,都会创建一个新线程并立即执行该请求。

如果canCreateInstance 被禁用,则请求将被放入队列中,并且一次处理一个。

这是正确的吗?我正在实现一个禁用canCreateInstance 的队列。你知道反对这样的事情吗?如何在禁用canCreateInstance 的情况下启动服务

【问题讨论】:

  • 您只是在询问单例和按请求工作流之间的区别吗?见this post

标签: wcf workflow-foundation


【解决方案1】:

假设 WorkflowServiceHost 接收到与初始接收活动的合同和操作名称匹配的消息

如果 CanCreateInstance 为真,那么 WorkflowServiceHost 将创建一个新的工作流实例并将消息传递给接收活动。

如果 CanCreateInstance 为 false,则 WorkflowServiceHost 将抛出异常

服务的传入消息没有附加上下文,当前操作未标记为“CanCreateInstance = true”。为了与此服务通信,请检查传入绑定是否支持上下文协议并已初始化有效的上下文。

工作流中的第一个接收活动应始终具有 CanCreateInstance = true 否则工作流无法激活。

此属性存在的原因是我们可以有一个 Receive 活动,用于激活接收和继续接收。

【讨论】:

  • 如何将 WorkflowServiceHost 添加到 WF 服务?
猜你喜欢
  • 2010-09-18
  • 1970-01-01
  • 2010-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多