.net 工作流基础4中从自托管工作流切换到工作流服务时的持久性错误 我正在开发一个应用程序,该应用程序使用Windows工作流基础4中构建的状态机来控制多个应用程序层的工作流。尽管添加sqlWorkflowInstanceStore时出现了意外的问题,但在大多数情况下,工作流的执行都非常出色

.net 工作流基础4中从自托管工作流切换到工作流服务时的持久性错误 我正在开发一个应用程序,该应用程序使用Windows工作流基础4中构建的状态机来控制多个应用程序层的工作流。尽管添加sqlWorkflowInstanceStore时出现了意外的问题,但在大多数情况下,工作流的执行都非常出色,.net,wcf,iis,workflow-foundation-4,.net,Wcf,Iis,Workflow Foundation 4,更具体地说,当作为工作流服务运行时,一些必要的数据(ActiveBookmarks、ExecutionStatus、IsInitialized、IsSuspended和一些其他字段)在工作流持久化时不会保存到数据库中 我花了几天时间对此进行调试,结果发现,如果使用完全相同的设置运行完全相同的工作流,但作为一种自托管活动,而不是工作流服务,那么一切都会顺利进行。这使我相信问题出在服务器/主机配置的某个地方 我将尝试在不同配置下托管,以及根据以下指南在IIS中托管活动: 但是,如果有人能给我指出

更具体地说,当作为工作流服务运行时,一些必要的数据(ActiveBookmarks、ExecutionStatus、IsInitialized、IsSuspended和一些其他字段)在工作流持久化时不会保存到数据库中

我花了几天时间对此进行调试,结果发现,如果使用完全相同的设置运行完全相同的工作流,但作为一种自托管活动,而不是工作流服务,那么一切都会顺利进行。这使我相信问题出在服务器/主机配置的某个地方

我将尝试在不同配置下托管,以及根据以下指南在IIS中托管活动:


但是,如果有人能给我指出这个错误的更具体原因,我将非常感激,因为这是目前我们发布之前需要解决的最大问题。

请查看

也许您可以提供一些关于发生了什么错误的信息。到目前为止,你只是告诉我们什么没有发生,这是非常少的继续。尝试添加跟踪侦听器并检查跟踪文件中弹出的错误。我运行了跟踪侦听器,得到的消息如下:“InstancePersistenceCommand的执行被中断,因为实例‘42b5db91-3529-4fd6-8db8-2BC42312 2BC76’尚未持久化到实例存储。”但是,数据库中存在一个具有问题密钥的实例。正如我前面提到的,它缺少几个字段。日志中没有其他异常或错误。听起来问题在于原始持久性。我确信有一个异常被抛出,并且可能是因为您在工作流中使用的类型没有标记为可序列化的。有人知道这一点吗?我在WF中也遇到了一些关于持久性和状态机的奇怪问题。它一点也不坚持,我不明白为什么。