私が作成したNativeActivity
派生アクティビティは、ブックマークをピック ブランチのトリガーとして使用するものです。MSDN で見つけたものを使用して、これを書いてブランチをトリガーしようとしました。ブランチには、send アクティビティを介してリモート クライアントへのサービス コールバックを起動するアクティビティが含まれています。トリガーに遅延を設定すると、コールバックがクライアントに対して正常に起動します。コード アクティビティを使用すると、分岐選択アクティビティが起動しません。
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);
}
}
そのため、将来のブックマーク参照がトリガーを実行するためのブックマーク名を設定するには、引数が必要です。OnResumeBookmark() はClientUpdate
、workflowapp をホストしているアプリケーションから渡されたオブジェクトを受け取ります。ClientUpdate
このアクティビティは、オブジェクトをワークフローに渡して pick ブランチの send アクティビティを介してリモート クライアントに送信できるようにオブジェクトを返すことです。とにかく理論的には。
何らかの理由で、それは正しいように見えますが、間違っているように感じます。WF サービスに必要なものを処理するために別の方法でアクティビティを作成する必要があるかどうかはわかりません。