【发布时间】:2012-02-13 20:59:37
【问题描述】:
我在执行工作流时遇到了一个特殊问题。
我已经尝试了我能想到的一切,现在需要想法。
这是我的配置:
1. 托管在 IIS 7 中的 WF4 工作流服务 (xamlx),并使用 net.msmq/netMsmqBinding 进行传输(MSMQ 是事务性的)。
2. 不使用工作流持久性。
3. 我使用控制台应用程序客户端向工作流发送消息(每条消息都会创建新的工作流)。
4.每个工作流看起来像:等待START消息->等待END消息(我只发送START消息)。
如果我发送 500 条消息 - 464 条得到正确处理,但除此之外,所有消息都进入 lock_* 队列,然后移动到毒队列。 我检查了调试、分析事件日志以及消息和跟踪 svclogs 这是我收到的最详细的消息:
System.TimeoutException, mscorlib, 版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089操作 未在分配的 00:00:30 超时时间内完成。时间 分配给该操作的可能是较长时间的一部分 超时。在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果)在 System.ServiceModel.Activities.Dispatcher.PersistenceProviderDirectory.LoadOrCreateAsyncResult.HandleReserveThrottle(IAsyncResult 结果)在 System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult 结果)System.TimeoutException: 操作未在分配的 00:00:30 超时内完成。 分配给此操作的时间可能是 更长的超时时间。在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果)在 System.ServiceModel.Activities.Dispatcher.PersistenceProviderDirectory.LoadOrCreateAsyncResult.HandleReserveThrottle(IAsyncResult 结果)在 System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult 结果)
此时对 http://localhost/MyWebService?wsdl 的请求也失败并返回 404。
如果我重新启动 IIS - 一切都会恢复正常,直到发送 464 条消息。
- 在哪里可以找到更详细的日志? (我已经将 System.Diagnostics 设置为最大详细度)
- 464 号有魔法吗?
- 什么可能导致此 Web 服务锁定?
【问题讨论】:
标签: workflow-foundation-4 msmq workflowservice