コンソールアプリケーションでワークフローをホストする方法はありますか?私は十分にグーグルグーグルであり、良いサンプルが見つかりませんでした。.NET 4のコンソールアプリケーションでワークフローをホストする
答えて
ほとんどの基本的な例がコンソールアプリケーションを使用して実行されているので、例は見つけられません。たとえば、これです。
ワークフローのランタイムはホストの種類に依存しないため、コンソールアプリケーションではうまく動作するか、ASP.NETまたはWPFアプリケーションでも同じように機能します。
var workflow = new Workflow1();
workflow.FirstName = "Maurice";
workflow.LastName = "de Beijer";
var result = WorkflowInvoker.Invoke(workflow);
Console.WriteLine(result["Greeting"]);
私はWFを初めて使い、上記のコードスニペットではワークフローを呼び出すか、ワークフローをホストするのか疑問に思っていますか?私はワークフローをコンソールアプリケーションのような別のプロセスでホストし、別のコンソールアプリケーション(クライアント)からワークフローを呼び出すようにします。 – VJAI
ワークフローサービスを使用し、WCFを介してワークフローサービスとやりとりしたいと思っていますか?その場合は、WorkflowServiceHostを使用してワークフローにReceiveアクティビティを追加して、WCFメッセージを受信します。 – Maurice
ありがとうMaurice。 WorkflowServiceは私が必要とするものです。 – VJAI
私は「FeedManager」はコンソールアプリ、ProcessAllImportsとProcessAllExportFeedsは、コードまたはXAML活動しているここで、以下のようなものを行っています。シンプルだがうまくいく。このことができます 希望...
class FeedManager
{
static void Main(string[] args)
{
FeedManager fm = new FeedManager();
fm.Run(args);
}
private int Run(string[] args)
{
ProcessAllImports importProcess = new ProcessAllImports();
List<Feed> importFeedSuccesses = new List<Feed>();
List<Feed> importFeedsFailure = new List<Feed>();
ProcessAllExportFeeds exportProcess = new ProcessAllExportFeeds();
List<Feed> exportFeedSuccesses = new List<Feed>();
List<Feed> exportFeedsFailure = new List<Feed>();
try
{
IDictionary<string, object> importFeedsArgs = new Dictionary<string, object>
{
{ "FeedsSuccess", importFeedSuccesses },
{ "FeedsFailure", importFeedsFailure },
};
var importOutput = WorkflowInvoker.Invoke(importProcess, importFeedsArgs);
bool importSuccess = (bool)importOutput["Success"];
importFeedSuccesses = (List<Feed>)importOutput["FeedsSuccess"];
importFeedsFailure = (List<Feed>)importOutput["FeedsFailure"];
IDictionary<string, object> exportFeedsArgs = new Dictionary<string, object>
{
{ "FeedsSuccess", exportFeedSuccesses },
{ "FeedsFailure", exportFeedsFailure },
};
var exportOutput = WorkflowInvoker.Invoke(exportProcess, exportFeedsArgs);
bool exportSuccess = (bool)exportOutput["Success"];
exportFeedSuccesses = (List<Feed>)exportOutput["FeedsSuccess"];
exportFeedsFailure = (List<Feed>)exportOutput["FeedsFailure"];
}
catch (Exception e)
{
return -1;
}
私はそこにサンプルが存在しなければならないと確信している.... –
ため息。ワークフローコンソールアプリケーション*の*テンプレートは100%完成です。ワークフローにアクティビティを追加するだけです。 – Will