工作流程应用输出

发布于 2024-11-18 23:41:14 字数 283 浏览 3 评论 0原文

为了从 Workflowinvoker 获取输出,我们必须使用

          var output = WorkflowInvoker.Invoke(new Activity1() { str = night  });
          HttpContext.Current.Response.Write(output["res"]);

WorkflowApplication 命令,但我们必须使用什么?我尝试了与 Workflowinvoker 相同的方法,但它不起作用。

In order to get output from Workflowinvoker we have to use

          var output = WorkflowInvoker.Invoke(new Activity1() { str = night  });
          HttpContext.Current.Response.Write(output["res"]);

but what do we have to use for the WorkflowApplication command? I tried the same as Workflowinvoker but it doesnt works.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

久夏青 2024-11-25 23:41:14

您需要设置 Completed 回调。 WorkflowApplication 异步执行工作流,而 WorkflowInvoker 会阻塞直至完成。

var flag = new ManualResetEvent(); 
var app = new WorkflowApplication(activity);
Dictionary<string,object> results = null;
app.Completed = x =>
{
    results = x.Outputs;
    flag.Set();
};
app.Run();
// run the application, wait for it to complete
flag.WaitOne(Timeout.Infinite);
// Completed has executed at this point

You need to set the Completed callback. The WorkflowApplication executes the workflow asynchronously, whereas the WorkflowInvoker blocks until it completes.

var flag = new ManualResetEvent(); 
var app = new WorkflowApplication(activity);
Dictionary<string,object> results = null;
app.Completed = x =>
{
    results = x.Outputs;
    flag.Set();
};
app.Run();
// run the application, wait for it to complete
flag.WaitOne(Timeout.Infinite);
// Completed has executed at this point
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文