问题标签 [workflow-foundation-4.5]
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.
c# - Persistence in Workflow Foundation 4.5
How can I use a persistent workflow instance in an ASP.NET MVC 5 app? (Things like accessing ViewBag or choosing a View or AJAXing comes to mind).
Notes: I tried two books (full of errors with code samples that does not work; so gave up after some chapters) and a dozen of online materials (blog posts, etc) and yet far from being satisfied by what I got of this WF thing. Of-course it's far easier without employing persistence; but what good is that?
So I think I am missing an essential piece or maybe the whole picture.
c# - 将应用程序部署到另一台计算机时未启动工作流
我有一个控制台应用程序托管的工作流程,它在我的 PC 上运行良好,无论是在 VS 2012 下还是作为 EXE。它启动工作流以响应 Web 服务调用。
当部署到另一台电脑时,控制台应用程序启动正常,不会出错,并等待对其 Web 服务的调用。我可以“看到”端点。
如果我随后调用该 Web 服务,客户端不会出错,控制台应用程序也不会出错,但工作流不会启动。也没有任何内容写入事件日志。
任何想法出了什么问题?谢谢
workflow - 工作流程中包含接收的并行活动
我有一个工作流程,在等待用户输入的同时需要并行路径。但是,工作流从不响应分支中收到的消息。
如果我删除 3 个“接收”活动,则工作流将沿所有 3 个分支继续,并且并行活动完成正常(未指定 CompletionCondition)。
我究竟做错了什么?谢谢,戴夫
workflow-foundation - 无法在 WorkFlowApplication 主机中加载持久工作流实例 - WF 4.5
我正在尝试加载持久的工作流以在我的流程中恢复书签,但我不断收到错误消息:“已为 WorkflowApplication 生成了一个实例 ID,因为已读取 'Id' 属性。WorkflowApplication 不能用于加载生成 ID 后的实例。” 我正在使用 Windows 工作流 4.5。工作流创建工作并且记录正确地保存在 SQL 数据库中,但是当我尝试加载实例时恢复失败。请问你能帮我解决这个问题吗?
.net - 可以将单个 Windows 工作流实例配置为使用多个数据库吗?
我们正在为基于 .NET 4.5 的 ASP.Net 应用程序使用 Windows 工作流引擎。Windows Workflow 应用程序部署为 IIS 应用程序,并使用 web.config 文件中指定的连接信息配置 SQL 持久性。我们现在想要将此应用程序(连同工作流引擎)移动到云中。
关于这次云迁移,我们对我们为 ASP.Net(非 Windows 工作流)应用程序做出的以下决定有些信心:
- 每个客户都有一个单独的数据库
- 一个 Web 应用程序将为多个客户提供服务
但是,我们不太确定如何将 Windows Workflow 应用程序迁移到云端。据我了解,我们有以下选择:
- 使用单实例/单数据库方法。在这种方法中,我们将有一个工作流实例和一个工作流数据库模式为多个客户服务。
- 使用多实例/多数据库方法。在这种方法中,我们将为每个客户拥有一个单独的 IIS 应用程序以及一个单独的数据库模式。
- 使用单实例/多数据库方法。在这种方法中,我们将拥有一个能够与多个工作流持久性数据库(每个客户一个)对话的工作流实例。
对于 #1,我们主要关注的是随着单个数据库负载增加的性能。对于 #2,关注的是 Web 应用程序的可扩展性,因为为 1000 个客户提供 1000 个 Web 应用程序似乎并不合适。
这给我们留下了选项#3,我们认为这是正确的方法。但是,我们不确定这是否可以在 Windows Workflow 中完成。
所以问题是,能否以某种方式配置或编程 Windows Workflow Web 应用程序的单个实例以与多个 SQL 持久性数据库通信?如果是,我们怎样才能做到这一点?
谢谢!
c# - Workflow Foundation 中触发器的条件
我必须在我们的应用程序中实现一个工作流,并决定尝试一下 Windows Workflow Foundation。使用 MS 的文档和教程,我设计了一个带有自定义活动的基本工作流程。我有一个自定义活动作为从状态 A 到状态 B 的转换的触发器。此活动创建一个书签,一段时间后由用户执行/恢复。这按预期工作。
但现在我被困住了。我想为此转换的触发器定义一个条件,该条件仅允许用户在满足条件时恢复书签(例如,用户必须具有特殊权限或必须设置属性)。
我在 Workflow Foundation 编辑器中看到的是,我可以为转换定义一个条件,在恢复书签之后进行评估,但我之前需要这个。
有没有人做过某事。像这样或提示如何解决此问题?
.net - WF 4.5 书签自定义活动不会触发持久/卸载
我有一个使用 WorkflowServiceHost、WorkflowServiceHostFactory 和 WorkflowHostingEndpoint 在 IIS 中托管 WF4.5 工作流的应用程序。
工作流由 VS 2013 在 .xaml 文件中定义。在工作流中,有一个自定义活动用于接收来自用户的输入数据。使用 CreateBookmark 和 Resume 的回调来获取它。
我的问题是:第一个活动执行,工作流实例进入空闲、持久和卸载。在恢复第一个书签后,第二个活动执行,工作流实例只进入空闲状态。因此只有第一个活动使工作流实例持久化和卸载。
为了验证我的主机实现是否有效,我使用了延迟活动并且一切正常。
我的自定义活动:
在书签活动(创建书签/恢复)结束后,实例不再持久/卸载。
换句话说,只有第一个加书签的活动集实例才会卸载。是的,我设置了 TimeToPersist/TimeToUnload。
下面是实例的跟踪状态: Started, Idle, Persisted, Unloaded , Resumed, Idle, Idle, Idle, Idle, Idle, Completed, Deleted。
我创建了一个示例解决方案来演示该问题。示例供下载。
如果有人可以帮助我,我真的很感激。感谢您的任何帮助!
感谢您的任何帮助!
workflow-foundation-4 - 来自两个不同状态的 ReceiveAndSendReply
我想知道如何实现状态机进程,以便我可以调用单个 WCF 合约到进程并直接接收响应,根据我发送给它的参数具有进程的当前状态(S1、S2 或 S3)。
我有一个状态机工作流程。流程范围内有一些变量,但最重要的是CurrentState变量,它保存流程的当前状态。
我们还有P1值来控制状态机中的转换。它的值被接收并设置在进程的第一个状态,称为S0。
S0状态通过接收带有P1流程参数的 WCF 调用来初始化 Workflow。然后,根据P1值,过程进入状态S1、S2或S3。
在状态S1,S2和S3我们有一个 Assign 活动,它将 CurrentState 设置为S1、S2或S3。
是否有可能在状态S0中进行 Receive 活动,在状态S1、S2和S3中进行 SendReply 活动?那么我可以在过渡到 S1/S2/S3 完成后直接返回进程的 CurrentState 吗?在这种情况下,最佳做法是什么?
workflow - 无法在 WF 4.5 中加载具有工作流实例 ID 的持久化工作流
“EnvironmentLocationReference”不是“InternalState”类型。加载此实例时,您必须确保名为“EnvironmentLocationReference”的活动实现“InternalState”。
请帮助解决这个问题。
在工作流应用程序 wfapp=new workflowapplication(new workflowDefinition) 中获取异常;wfappp.Load(wfId, new TimeSpan(0, 0, 5));
保存在持久性数据库中的 wfid(workflow id)