4

次の条件の単純なビジネス ワークフローがあります。

  1. ユーザーはdesingerを使用してワークフロー自体を変更する必要があります
  2. ワークフローは長いリンニングワークフローなので、連載されます

さまざまなワークフロー アセンブリのバージョン管理タスクを自動化する方法はありますか?

4

3 に答える 3

3

さまざまなワークフローアセンブリのバージョン管理は簡単な作業ではなく、多くの複雑さを伴います。ここでは、これを正確に扱っている一連の投稿を見つけることができます。

于 2008-09-22T13:39:08.807 に答える
2

独自のアプリケーションで WF デザイナーを再ホストして、エンド ユーザーがワークフローを変更できるようにすることができます。デザイナーをホストしているので、デザイナーができることをほとんど制御できます。たとえば、アクティビティの削除や無効化を禁止し、ワークフローの事前定義された領域に特定の新しいアクティビティを追加することのみを許可できます。最善の方法は、これらのワークフローを XOML ファイルとして保存し、そのまま開始することです。これは、ワークフロー自体にコードを追加できないことを意味しますが、SequentialWorkflowActivity (または状態に相当するもの) から派生したワークフロー基本クラスを自由に定義し、それをワークフロー基本クラスとして使用できます。これにより、コードとプロパティを追加できます。たとえば、CodeActivity を追加することはできますが、基本クラスのコードにリンクする必要があります。

ワークフローのシリアライゼーション、またはいわゆる脱水は、実行中のワークフローで使用され、ワー​​クフローをディスクに永続化します。これは、標準の .NET バイナリ シリアライゼーションを使用しますが、ワークフローの実行時間が長いため、注意が必要です。しかし、何を探すべきかがわかれば、大したことはありません。一連のブログ投稿の開始については、http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspxを参照してください。

必要かどうかはわかりませんが、すでに実行中のワークフローを変更する機能もあります。これは WorkflowChanges オブジェクトを使用します。詳細については、 http://wiki.windowsworkflowfoundation.eu/default.aspx/WF/RuntimeModificationOfWorkflows.htmlを参照してください。

于 2008-09-22T16:44:27.877 に答える
0

ワークフローのバージョン管理に関する別の記事を次に示します。

http://www.adefwebserver.com/DotNetNukeHELP/Workflow/VacationRequest3.htm

基本的に、次の場合に、アセンブリを使用するワークフローをバージョン管理できます。

  • ワークフローで使用されるすべてのアセンブリには、厳密な名前を付ける必要があります。
  • アセンブリがインターフェイスを使用する場合は、厳密な名前を付けて別のアセンブリに配置する必要もあります。
  • web.config のエントリは、適切なアセンブリを見つける場所を asp.net に指示できます。
于 2008-10-12T13:13:31.063 に答える