問題タブ [workflow-foundation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1822 参照

workflow - Windowsワークフロー-IfElseブランチ

私はWindowsワークフローを使用しようとしていますが、以下のリンクの画像に似たモデルがあります。
ワークフローのスクリーンショット

各送信アクティビティ(、、)の後にGetSomthingGetSomthingElse同じGetSomeMoreStuffカスタムアクティビティが呼び出されます(LogSomthingBadHappened)。

私の実際のモデルでは、この図ではそれほど悪くはないかもしれませんが、カスタムアクティビティはSequenceActivtyであり、かなりの数のノードがあり、3回繰り返すと、ワークフローが非常に見苦しくなります。

私はこのようなことをしたいと思います:
編集されたワークフローのスクリーンショット

IfElseこのようにブランチをマージできますか?
代わりにステートマシンワークフローを使用する必要がありますか(これらはまだ理解されていません)?

0 投票する
5 に答える
2664 参照

workflow-foundation - 実際の Web アプリケーションで Windows ワークフローをうまく採用できましたか?

最近、Web アプリケーションで実行されている Windows ワークフローに関する質問を投稿しました。ManualWorkflowSchedulerService、HandleExtrenalEvent などの用語を含むかなり技術的な質問でしたが、20 日間で約 15 回の閲覧がありました。

質問の仕方が間違っている可能性が高いですが、実際のアプリケーション、特に Web アプリケーションでの Windows ワークフローの採用について考えるようになりました。

WF を使用して実世界のインターネット アプリケーションの実装に成功しましたか?振り返ってみると、時間 (お金) の投資は報われましたか?

0 投票する
2 に答える
2104 参照

asynchronous - 非同期操作を実行するカスタム Windows ワークフロー アクティビティ - 汎用サービスを使用してやり直す

いくつかのプロセスを非同期的に開始し、非同期イベントが到着したときにウェイクアップする必要がある、カスタムの Windows Workflow Foundation アクティビティを作成しています。

私が見つけたすべてのサンプル (たとえば、Kirk Evans によるもの) には、ほとんどの作業を行うカスタム ワークフロー サービスが含まれており、アクティビティによって作成されたキューにイベントがポストされます。その主な理由は、[WF 以外のスレッドから機能する] イベントを投稿する唯一の方法が WorkflowInstance.EnqueueItem であり、アクティビティがワークフロー インスタンスにアクセスできないため、イベントを投稿できないことです。 (非同期操作の結果を受け取る非 WF スレッドから)。

この設計は好きではありません。機能が 2 つに分割され、新しいアクティビティ タイプが追加されたときにホストにサービスを追加する必要があるからです。醜い。

そこで、アクティビティの非同期イベント ハンドラーから呼び出し、さまざまな非同期アクティビティで再利用できる次の汎用サービスを作成しました (エラー処理は省略されています)。

アクティビティ コードでは、このサービスへの参照を取得して保存し、非同期操作を開始し、完了したら、このサービスを使用してイベントをキューに投稿できます。この利点 - すべてのアクティビティ固有のコードをアクティビティ内に保持し、アクティビティの種類ごとに新しいサービスを追加する必要がありません。

しかし、公式およびインターネットのサンプルがそれを行っているのを見ると、再利用不可能なサービスに特化しています。このアプローチが問題ないかどうかを確認したいですか、それともここでいくつかの問題を引き起こしていますか?

0 投票する
2 に答える
1112 参照

workflow-foundation - WF ロードおよびアンロードからワークフロー インスタンス変数にアクセスする

workflowRuntime_WorkflowUnloaded や Loaded などで取得できるのは、かなり役に立たない唯一のものは、workflowinstanceId です。GetWorkFlowDefintion() を実行してルート アクティビティにキャストするたびに、ルート アクティビティにあるいくつかの DP にアクセスできるようにしたいのですが、渡したすべてのプロパティはすべて null です。

0 投票する
1 に答える
175 参照

workflow-foundation - コードがワークフローで実行されているかどうかを確認する最善の方法は何ですか?

IIS 内、WCF サービス内、スタンドアロン アプリケーション内、または Windows ワークフロー インスタンス内など、さまざまな実行環境で実行できる共通コードがあります。

しかし、コードがワークフロー内で実行されているかどうかを確認する最良の方法は何ですか? WorkflowEnvironment.WorkflowInstanceID現時点では、次のコードで例外を探してキャッチしています。

より良い方法はありませんか?try...catchブロックの必要性を取り除きたい。

0 投票する
1 に答える
1436 参照

workflow - ワークフローで複数のイベントをリッスンする必要がある

複数のイベントをリッスンする必要があるワークフローが必要です。イベントによってワークフローがさらに促進されます。

いくつかのアクション --> 外部メソッドの呼び出し --> 3 つのイベントがあり、いずれかが応答になります。

3 つのイベント ハンドラーを持つことができる場所で使用できるアクティビティの種類。どんな出来事もそれをさらに駆り立てます。

ステート マシン ワークフローを使用することを考えましたが、代わりに使用できるものがあれば教えてください。

0 投票する
1 に答える
69 参照

workflow-foundation - WF - 選択リストの作成

愚かな質問があります。自分のアクティビティを公開するワークフロー デザイナー ホストを作成しました。また、特別な属性で装飾されたプロパティのみを表示するプロパティ グリッドもあります。このデザイナは、IT スタッフによって使用されることはありません。

私が欲しいのは、アクティビティでユーザーがリストからプロパティ値を選択できることです。Enumを作成できることはわかっていますが、動的にしたいと思います。つまり、特定のインターフェイス上のすべてのイベント (リフレクションを使用して抽出)。

これはまったく可能ですか、それとも列挙型にこだわっていますか?

0 投票する
4 に答える
6042 参照

sharepoint - 並行承認ワークフローで拒否を実装する方法は?

レプリケーター アクティビティを使用して SharePoint ワークフローを開発し、承認者ごとにカスタム アクティビティをレプリケートします。カスタム アクティビティは、特定のユーザーの承認ブランチを実装します。これには、CreateTask、While、OnTaskChanged、および CompleteTask アクティビティを含む従来の形式があります。

1 人の承認者が承認を拒否することを選択し、ワークフローが終了した後に実行をキャンセルするように、レプリケーターで UntilCondition をセットアップします。この問題は、現在の状態で「ハング」する他の未完了のタスクで発生します。タスクを開いたときに、この状態は表示されません。

タスクのステータスを Cancelled に設定するために、Replacator の後に UpdateAllTask​​s を配置しました。ただし、CompleteTask (却下されたタスクの場合) と UpdateAllTask​​s の間にイベント アクティビティがないため、UpdateAllTask​​ アクティビティは却下されたタスクに対しても Canceled を設定します。

質問、UpdateAllTask​​s の前に CompleteTask によって行われた保留中の変更をフラッシュするにはどうすればよいですか?

あるいは、そのようなワークフローを実装する別の方法があるかもしれません。UpdateTask でカスタム アクティビティの Cancel ハンドラを実装する方法を考えていました。しかし、それを実装する方法がわからず、拒否の場合に実行するキャンセルハンドラーに伝えます。

0 投票する
2 に答える
1166 参照

workflow - ハイスループットとWindowsWorkflowFoundation

WWFは、一度に数十のレコードが「アクティブに」並行して処理される高スループットのシナリオを処理できますか?

1時間あたり数千のレコードを処理するワークフロープロセスを構築したいと考えています。各レコードは外部のWebサービス呼び出しを行うため、処理に最大1分かかります。

これを行うために、WindowsWorkflowFoundationをテストしています。ただし、デモプログラムでは、並列アクティビティを使用して1つのワークフローインスタンス内で一度に複数のレコードを処理すると、各レコードの処理が並列ではなく順番に実行されているように見えます。

複数のワークフローインスタンスまたは並列アクティビティを使用する必要がありますか?

高性能WWF処理の既知のパターンはありますか?

0 投票する
4 に答える
451 参照

.net - いくつかの要件を伴う純粋な xaml ワークフローの実装

私は現在、アプリケーションで WF を使用する方法の開発を担当しており、従う必要がある一連の要件があります。

  • ワークフローを純粋にテキストで定義できるようにする必要があるため、ワークフローを保存して実行のために取得できます。
  • ワークフローの実行中に、アクティビティ間で DataObject を渡して操作を実行できるようにする必要があります。
  • アクティビティは外部クラスによって定義されます。アクティビティは、アクティビティを定義するクラスのインスタンスにアクセスして、そのメソッドを呼び出すことができる必要があります。

私は WF を研究しており、いくつかの解決策を考え出しましたが、それらが最良のものかどうかはわかりません。

私の最大の問題の 1 つは、アクティビティを定義するクラスのインスタンスをアクティビティで利用できるようにすることです。ワークフロー ランタイムにアクティビティ ファクトリなどを提供する方法はありますか? もう 1 つの問題は、Pure XAML ワークフロー定義の使用に起因します。ワークフローで使用できるように、DataObject を最初のアクティビティに渡すことができる必要があります。

問題を説明するのが少し難しいですが、十分に明確であることを願っています。

どんな助けでも大歓迎です。ありがとう。