簡體   English   中英

讀取活動的InArgument值

[英]Reading activity InArgument values

我正在使用工作流基礎4.5創建自定義本機活動。 我想為活動設置書簽,並在WorkflowApplication的PersistableIdle回調中進行一些自定義處理。 在該回調中,我想在持久化工作流實例之前讀取提供給活動的InArgument <>和/或Properties的數據。 因此,從本質上講,我想在完成持久性過程之前從已執行活動的上下文之外和運行時之外讀取這些值。

我以為我可以使用WorkflowInspectionServices幫助器類來做到這一點,但由於我必須從上下文中讀取該活動實例的InArgument <>,因此尚不清楚該方法是否有效。

是否有另一個幫助程序類可以使wf4.5做到這一點,而我還沒有發現? 謝謝。

 wfApp.PersistableIdle += args =>
        {
            using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                wfApp.Unload();
                args.Bookmarks.ForEach(bookmark =>
                {
                    var activityId = bookmark.BookmarkName;

                    //Doesn't seem this will really work?
                    var activityInfo = WorkflowInspectionServices.Resolve(activity, activityId) as MyCustomActivity;


                    var recipientId = activityInfo.RecipientId.Get(<I have no context>);
                   workflowSuspendedCallback.Invoke(activityId, recipientId));
                });
                scope.Complete();
            }
            return PersistableIdleAction.None;
        };

使用活動擴展可以達到目的。 謝謝威爾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM