0

Visual Studio 2010のベータ2バージョンを使用して、WF4の使用方法をすぐに習得しましたが、永続性の問題が発生しました。以下のコードでは、コメントアウトされたWorkflowApplicationオブジェクトの作成を使用すると、永続性は正常に機能します。以下のコメントなしの作成を使用すると、渡したい引数の辞書を渡すと、永続性が失われます。なぜそうなるのか、そしてそれを修正する方法はありますか?

        List<Approver> approversRequired = new List<Approver>();
        approversRequired.Add(new Approver("Dept Manager"));
        approversRequired.Add(new Approver("Center Manager"));

        Dictionary<String, Object> wfArguments = new Dictionary<string, object>();
        wfArguments.Add("ApproversRequired", approversRequired);

        //WorkflowApplication workflowApp = new WorkflowApplication(
        //    new WebCARSWorkflow());

        WorkflowApplication workflowApp = new WorkflowApplication(
            new WebCARSWorkflow(), wfArguments);

        InstanceStore instanceStore = new SqlWorkflowInstanceStore(
            @"Data Source=.\SQLEXPRESS;Integrated Security=True;Initial Catalog=WorkflowInstanceStore");
        InstanceView view = instanceStore.Execute(
            instanceStore.CreateInstanceHandle(), new CreateWorkflowOwnerCommand(),
            TimeSpan.FromSeconds(30));
        instanceStore.DefaultInstanceOwner = view.InstanceOwner;

        workflowApp.InstanceStore = instanceStore;

        workflowApp.PersistableIdle = (waie) => PersistableIdleAction.Unload;

        workflowApp.Run();
        WorkflowGuid.Text = workflowApp.Id.ToString();

        workflowApp.ResumeBookmark("RequestSubmitted", "Submitted");
4

1 に答える 1

3

渡した承認者は、Serializable属性またはDataContract属性で装飾されたパラメーターとして渡されますか?

中止されたコールバックを使用してpersitenceエラーを確認できます

            workflowApp.Aborted = e => Console.WriteLine(e.Reason);
于 2010-01-11T10:37:36.527 に答える