问题标签 [workflow-foundation]

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.

0 投票
3 回答
1309 浏览

asp.net-mvc - 如何构建这个 ASP.NET n 层解决方案?

我在尝试布局我的 VS 解决方案时遇到问题,我想要一些建议。

目前,我的解决方案布局类似于以下项目:-

我的网站 ( Foo.Web) 调用Foo.Services命名空间上的各种方法。这里的想法是Services处理所有业务逻辑Model命名空间只是POCO对象。Repositories命名空间是不言自明的。

带有接口的构造函数依赖注入处理了什么层需要什么组件的黑魔法。

问题:我希望在解决方案中添加一些 Windows Workflow Foundation (WWF) 代码,但将此 WWF 代码放在同一个 Foo.Services.dll 中。

为此,我需要制作另一个类型的项目Workflow。此工作流具有调用 Foo.Services 方法的活动。因此,我的网站现在必须调用服务方法或工作流方法来做事。

我希望网站只调用Services命名空间来做事。

毕竟,服务是 UI 和业务逻辑 IMO 之间的主要接口。我在技术上使用 WWF 的事实对于在 IUI 前端编码的人来说不应该是一个问题。

由于工作流dll调用Services dll中的方法,因此Services dll由于循环依赖不能调用Workflow中的方法。

我也无法将所有工作流代码移动到服务 dll 中,因为服务 dll 需要是一些特殊的项目类型(Windows 工作流类型)。

所以..我不知道该怎么办?

我怎样才能使消费者只引用商业内容的服务命名空间,而我在 WWF 中暗示这些商业内容的事实对消费者是隐藏的?

我是否需要制作一个 WWF 项目并将我的所有服务代码移入其中,扔掉旧的服务项目?这样做听起来不太可重用。如果我决定不使用 WWF 来处理某些管道操作并使用其他东西会发生什么?

这里有一些代码可以帮助解释。

谢谢窥视。

0 投票
1 回答
672 浏览

workflow - Workflow Foundation ExternalDataExchange 消息排队和事务性?

我最近一直在 WF 中使用一些基于 ExternalDataExchange 的通信。我的理解是,当使用长时间运行的(在本例中为状态机)工作流时,通信是排队的、持久的和事务性的。

我正在使用 SQL Persistence 和一个标记为“WaitForIdle = true”的 EventArgs。

我会假设当我做这样的事情时:

我希望我的事件不会在工作流程中触发。不过,它似乎实际上已经交付,所以这让我相信这不是交易性的。您可以看到在 DoSomeDatabaseWork() 中提交到数据库的数据是如何回滚的,但是向前移动的工作流可能很糟糕。

任何人都可以确认这一点,如果是这样,您是否有解决方法使该消息成为事务性消息?

我真正想要的是以下两件事之一:

  1. 工作流不应该对我通过外部数据交换排队的消息做出反应,直到将消息入队的事务被提交(就像服务代理在 SQL Server 中所做的那样)。

- 或者 -

  1. 如果工作流确实开始对我交付的事件起作用,它也应该回滚。不过,我看不出使用默认调度程序是如何发生这种情况的。我希望工作流执行保持异步,所以如果不需要,我不想切换调度程序。
0 投票
4 回答
587 浏览

c# - 拥有一个大的工作流程还是几个较小的特定工作流程更好?

我需要构建一个从服务器获取文件并移动到另一台服务器的应用程序。有人建议我考虑使用 Windows Workflow Foundation (WF)。

我开始构建工作流程,但它变得一团糟,我不确定我是否以最好的方式做到这一点。

这是基本的工作流活动:

获取源列表 确定源是 ftp 还是磁盘驱动器 从服务器获取文件列表 如果源是 ftp,则使用 ftp 获取文件 如果源是驱动器,则从驱动器读取文件 如果目标是 ftp,则 ftp 文件到服务器 else 如果目标是驱动器则写入驱动器 else 如果目标是 Web 服务则发布到 Web 服务 如果源是 ftp 然后使用 ftp 命令删除文件 else 如果源是驱动器则删除文件

对于一个工作流程,它会变得有点忙。我需要 2 个 while 循环,一个围绕集成,一个在我获得文件列表之后。

我想到的另一件事是构建多个工作流。一种用于 FTPtoFTP、FTPtoDrive、FTPtoWebServie、DriveToFTP、DrivetoDrive、DriveToWebService。

有什么建议么?

0 投票
2 回答
1166 浏览

wpf - WPF 还是工作流?

我有一个问题,希望你能引导我朝着正确的方向前进。

由于缺乏更好的术语,我正在开发一个需要某种形式的决策树/工作流程的应用程序。为了清楚起见,我将在下面对其进行描述。

我有一个用户将在网页上填写的请求表。表格的开头是“推荐类型”。根据所选择的推荐类型,某些表单问题将发生变化。根据推荐类型,可能有 2、3 或 4 组问题。整组问题可以通过或失败。

如果第一组问题失败......然后表格停止处理,等等。

处理这个问题的最佳方法是什么?WPF 在这种情况下会很好地工作吗?

0 投票
1 回答
371 浏览

asp.net - 在 asp.net 网站上为工作流捕获 webform 事件

基本想法是我有一个网站和一个工作流程。我需要在我的工作流程中捕获来自 aspx 页面的按钮点击。

我有一个包含 worflow 项目和网站项目的解决方案,并且 web.config 和 global.asax 已设置为与 WF 一起使用。还设置了持久性服务。

我创建了一个 StateMachine 工作流程。有几个状态(StateActivity)包含 EventDrivenActivity 实例,其中有 HandleExternalEventActivity 实例。为了正确设置后者以便应用程序可以编译,我创建了一个用 ExternalDataExchange 属性修饰的接口,并公开了必要的事件。然后我创建了一个实现这个接口的类。

这就是我所得到的。现在我需要将类连接到我的 aspx 页面;页面上的事件需要触发类中的事件。

我的代码看起来像这样:

在我的 form.aspx 上,有一个按钮,而在 form.aspx.vb 页面上,有一个相应的事件处理程序:

然后去哪儿?

0 投票
2 回答
5665 浏览

java - Java 替代 Windows Workflow Foundation

Windows Workflow Foundation 有哪些 Java 替代方案?我正在寻找至少提供与 WWF 相同的功能,并具有相同的灵活性和相对易用性的东西。我非常喜欢免费的解决方案。

0 投票
4 回答
1109 浏览

persistence - WF 性能,每月新增 20,000 个持久工作流实例

Windows Workflow Foundation 在持续执行 WF 实例时存在一个缓慢的问题。我打算做一个项目,其业务层将基于 WF 公开的 WCF 服务。该项目每月将创建 20,000 个新的工作流实例,每个实例最多可能需要 2 个月才能完成。我被引导相信,考虑到性能原因,考虑到 WF 在进行持久性时会变慢,我给定的问题将是无法实现的。我有以下问题:

  1. 这是真的?我的表现会因为负载而变得糟糕吗(鉴于 WF 持久性速度限制)
  2. 我该如何解决这个问题?

我们目前有两种可能的解决方案: 1.每个新的业务流程请求(例如给我一个新的驾驶执照)将是一个新的WF实例,并且通过将所有状态请求操作转发到保存的状态值来限制持久化操作的数量一个单独的数据库。2. 在任何给定时间都只有少量的工作流实例,没有任何持久性(仅在系统崩溃等情况下),通过将每个工作流步骤分解到一个单独的工作流和处理每个业务流程请求的工作流当前步骤的系统中的实例(例如,我正在提交我的驾驶执照申请表,这是第一步......我们有 100 个案例,我的第一步工作流程将同时处理每个案例)。

我对这个问题的解决方案非常感兴趣。如果你想讨论这个问题,请随时给我发邮件 nstjelja@gmail.com

0 投票
1 回答
630 浏览

.net - WF Persistence - 删除旧的工作流程

当使用具有持久性的 Workflow Foundation 时,我们希望从中删除一些(或全部)工作流,这些工作流不再应该被持久化/运行。

我可以为此使用的任何脚本/工具吗?

0 投票
3 回答
1663 浏览

c# - Windows 工作流上的 UI

使用 Windows 工作流时是否有任何内置 UI 功能。

假设我有一个需要一个小时才能运行的工作流程,其中不同的活动一直在发生。在运行时,我想查看当前处于活动状态的活动、已经运行的活动等。

我是否必须自己编写此 UI 或 WF 是否具有以图形方式显示工作流状态等的内置功能?

0 投票
3 回答
142 浏览

workflow-foundation - 向现有 Windows 工作流程添加新状态?

如果我有一个长时间运行的工作流程(持续数月......)并且如果我需要例如添加新状态或更改它。(由于错误修复或新功能)。

现有工作流程会发生什么?他们会迷路吗?还是我需要一些版本控制?还是它会接受新的状态并继续下去?