【发布时间】:2013-02-07 01:58:52
【问题描述】:
我在 IIS 中托管工作流服务 (xamlx)。它有一些接收活动,例如方法 A 和方法 B。我编写了一个 MVC 应用程序作为客户端来调用这些方法。在 PageA 中,用户提交表单会调用 MethodA,工作流会转到等待 MethodB 的 Receive Activity。然后在Page B,用户提交表单会调用MethodB。但是,如果用户在 PageA 中提交,然后返回到 PageA 并再次提交相同的工作流实例,它将等待一分钟并给出超时异常:
请求通道在等待回复后超时 00:01:00。增加传递给 Request 或的调用的超时值 增加 Binding 上的 SendTimeout 值。分配给的时间 此操作可能是较长超时的一部分。
这个错误似乎来自 WCF,而我想它会给出以下错误:
InstancePersistenceCommand 的执行被中断,因为 实例键“guid”未与实例关联。这个可以 发生是因为实例或密钥已被清理,或者因为 密钥无效。如果生成的消息,密钥可能无效 from 在错误的时间发送或包含不正确的相关性 数据。
我有几个问题:
是否可以设置任何配置,以便可以捕获另一个异常,而不是等待一段时间直到可以捕获超时异常?我知道我们可以在绑定标签中设置一个较小的超时值,但这不应该是一个解决方案。
当工作流实例未处于正确状态时,是否有任何方法可以避免显示 PageA? (即使这样,我们还需要解决问题1,因为用户可以打开PageA并在提交前空闲一段时间)
谢谢。
【问题讨论】:
标签: asp.net wcf iis workflow-foundation-4 workflowservice