我有一个WCF工作流服务,它使用一些代码活动从SQL Server数据库更新SQL Server CE数据库文件。有4个接收和发送回复活动。第一个创建工作流实例。其他3个包含在Pick活动中,每个都由传入请求触发,以添加或删除数据库中的数据。该服务使用QueryCorrelationInitializer使用请求内容中的元素来关联请求。
如果多个请求或多或少同时到达Pick活动,会有什么行为。我知道其中一个会重新启动工作流程 - 其他请求会发生什么?他们是等待第一个完成,然后按照FIFO顺序继续,或者如果他们没有在工作流程中转弯,他们会暂停吗?
答案 0 :(得分:1)
第一个将开始处理,其他人将排队等待工作流程。每当工作流再次空闲时,将尝试另一个。如果你回到原来的选择应该工作得很好,只要你在那里他们必须执行默认的WCF超时设置。如果您的工作流程无法处理其他请求,他们将会超时,客户端将收到错误。