alt text http://home.elka.pw.edu.pl/~pkolodzi/Capture.PNG
我使用两种方法创建了 IAdder 界面: PassA 和 PassB 。我的工作流程以 webServiceInputActivity1 开始,该活动由 PassA 远程调用激活。我工作流程中的另一个元素是另一个 webServiceInputActivity2 元素。这次“IsActivating”属性设置为false。我希望我的工作流程在第一个活动完成后保持不变(确实返回void)。应通过调用PassB Web方法重新激活工作流程。
将工作流发布为Web服务并在此处调用PassA是我得到的:
System.InvalidOperationException: Workflow with id "b0c5f9dd-57f3-427f-b172-17d4663f7eaf" not found in state persistence store.
at System.Workflow.Runtime.Hosting.PersistenceDBAccessor.RetrieveInstanceState(Guid instanceStateId, Guid ownerId, DateTime timeout)
at System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService.LoadWorkflowInstanceState(Guid id)
at System.Workflow.Runtime.WorkflowRuntime.InitializeExecutor(Guid instanceId, CreationContext context, WorkflowExecutor executor, WorkflowInstance workflowInstance)
at System.Workflow.Runtime.WorkflowRuntime.Load(Guid key, CreationContext context, WorkflowInstance workflowInstance)
at System.Workflow.Runtime.WorkflowRuntime.GetWorkflow(Guid instanceId)
at System.Workflow.Activities.WorkflowWebService.Invoke(Type interfaceType, String methodName, Boolean isActivation, Object[] parameters)
at PersistanceWebServiceWorkflow.Workflow1_WebService.PassA(Int32 a) in C:\Users\djpiter\AppData\Local\Temp\2dnwfnsn.cs:line 39
你有什么想法我做错了吗?
ps :(数据库已正确设置。我在控制台应用程序中托管的工作流程中测试了它并延迟了活动。我还在web.config文件中添加了必要的行。)
亲切的问候 PK
答案 0 :(得分:0)
如果您的某个活动会抛出异常,则会从数据库中删除工作流状态信息。在调试中配置的“在抛出异常时中断”运行工作流调试器 - 异常 - 公共语言运行时异常