次の条件の単純なビジネス ワークフローがあります。
- ユーザーはdesingerを使用してワークフロー自体を変更する必要があります
- ワークフローは長いリンニングワークフローなので、連載されます
さまざまなワークフロー アセンブリのバージョン管理タスクを自動化する方法はありますか?
次の条件の単純なビジネス ワークフローがあります。
さまざまなワークフロー アセンブリのバージョン管理タスクを自動化する方法はありますか?
さまざまなワークフローアセンブリのバージョン管理は簡単な作業ではなく、多くの複雑さを伴います。ここでは、これを正確に扱っている一連の投稿を見つけることができます。
独自のアプリケーションで 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を参照してください。
ワークフローのバージョン管理に関する別の記事を次に示します。
http://www.adefwebserver.com/DotNetNukeHELP/Workflow/VacationRequest3.htm
基本的に、次の場合に、アセンブリを使用するワークフローをバージョン管理できます。