我有一個NativeActivity
衍生的活動,我寫的是使用書籤作爲挑選分支的觸發器。使用我在MSDN上找到的東西,我試着寫這個來觸發分支。該分支包含通過發送活動將服務回調激活到遠程客戶端的活動。如果我爲觸發器設置延遲,回調會成功觸發客戶端。如果我使用我的代碼活動,挑選分支活動不會觸發。我的工作流書籤選取觸發器有什麼問題?
public sealed class UpdateListener : NativeActivity<ClientUpdate>
{
[RequiredArgument]
public InArgument<string> BookmarkName { get; set; }
protected override void Execute(NativeActivityContext context)
{
context.CreateBookmark(BookmarkName.Get(context),
new BookmarkCallback(this.OnResumeBookmark));
}
protected override bool CanInduceIdle
{
get { return true; }
}
public void OnResumeBookmark(NativeActivityContext context, Bookmark bookmark, object obj)
{
Result.Set(context, (ClientUpdate)obj);
}
}
因此,它需要一個arg來設置書籤名稱以便將來的書籤引用來執行觸發器。 OnResumeBoookmark()需要一個ClientUpdate
對象,該對象由託管workflowapp的應用程序傳遞。該活動將返回對象,以便ClientUpdate
可以傳遞到工作流程,並通過選擇分支中的發送活動將其發送到遠程客戶端。反正理論上。
由於某種原因,它似乎是正確的,但感覺不對。我不確定是否應該以不同的方式編寫活動來照顧我需要的WF服務。