问题标签 [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 回答
1232 浏览

.net - 如何基于外部事件可靠地创建工作流实例?

对 Windows 工作流程的东西有点新,所以很容易:)

我希望设计一个具有高可用性的工作流主机环境——在不同的硬件上至少有 2 个 WF 运行时主机,它们都指向相同的持久性或跟踪 SQL 数据库。

我正在寻找一种模式,通过这种模式我可以基于一些外部事件异步创建新的工作流实例(即,一些数据由不同的应用程序在 DB 中更新)。对于每个事件,我都需要准确地创建一个工作流实例,而不管该实例是在哪个主机上创建的。关于事件之间的持续时间和实际创建工作流实例的时间也有一些灵活性。

我正在考虑的一种解决方案是在 WF 主机上使用 WCF 接口,并将它们放在某种负载平衡器后面。然后由系统的任何部分触发“事件”来进行 WCF 调用。

我对此并不满意,因为如果所有 WF 主机都关闭或不可用,则该事件可能会“丢失”。此外,我将无法按照我想要的方式管理负载。我设想这样一种情况,在短时间内可能会发生很多事件,但在一段时间后处理这些事件是完全可以接受的。

所以我认为我需要以某种方式持久化事件并将事件创建与事件处理分离。

将这些事件放入 MSMQ 或 SQL Server 中的简单事件表中,并让 WF 主机定期轮询队列是可行的解决方案吗?投票似乎是一个如此肮脏的词......

NServiceBus 和持久消息传递在这里有用吗?

任何见解将不胜感激。

附录

该数据库将使用共享光纤通道存储进行集群。网络也将是冗余的。为了使 WF 运行时实例具有故障转移,它们必须指向一个公共持久性服务,在这种情况下是一个 SQL 后端。这是高可用性,而不是总可用性 :)

MSDN 关于 WF 可靠性和高可用性的文章

此外,WF 运行时的每个实例都必须运行完全相同的位,因此升级需要同时将它们全部关闭。如果需要,我喜欢能够做到这一点的想法,而无需关闭整个系统。

0 投票
1 回答
1055 浏览

asynchronous - 实现执行异步操作的自定义 Windows 工作流活动

我在弄清楚如何最好地实现这一点时遇到了一些概念上的麻烦……我想为 Windows 工作流创建一个自定义 Activity 类。该活动必须调用第三方库方法,该方法本身异步运行另一个进程,并且可能需要几秒钟到几小时才能完成。这个库为我提供了轮询方法结果或订阅指示其完成的事件的能力。在我的非工作流程应用程序中,我通常只订阅该事件,但在工作流程案例中这似乎不合理。我也不确定如何最好地实施轮询方案。有人可以推荐一些类似问题的指针吗?

0 投票
3 回答
1364 浏览

workflow - MS WF 状态机工作流和 MS CRM Dynamics 4.0

MS CRM Dynamics 4.0 包含 MS WF 引擎。内置设计器允许创建其活动对 CRM 实体具有本地访问权限的顺序工作流。

是否有可能:

  • 在 CRM 之外(即在 Visual Studio 中)创建状态机工作流并将其导入 CRM?
  • 此工作流是否可以访问 CRM 实体?
0 投票
4 回答
4119 浏览

workflow - Windows Workflow Foundation (WF) 的最佳资源是什么?

我正在寻找一些关于 WWF 的书籍、博客或文章。我读过下面的书;但是,我需要更深入地涵盖该主题的资源。我对本地服务、持久性、跟踪和从网站查看工作流特别感兴趣。有什么建议么??

Pro WF:.NET 3.0 中的 Windows 工作流

基本 Windows 工作流基础

0 投票
4 回答
363 浏览

c# - 你知道 C# 的 Bulked/Batched Flows 库吗

我正在处理一个具有 peek 性能要求的项目,因此我们需要批量(批处理?)几个操作(例如将数据持久化到数据库)以提高效率。

但是,我希望我们的代码保持易于理解的流程,例如:

我在这里寻找的功能是自动让 Persist() 批量发生(并且异步进行),但对其用户的行为就好像它是同步的(用户应该阻止直到批量操作完成)。我希望实现者能够实现 Persist(ICollection)。

我研究了基于流的编程,对此我并不十分熟悉。我在这里看到了一个 C# 中的 fbp 库,并与 Microsoft 的 Workflow Foundation 进行了一些合作,但我的印象是两者都对我的需要来说太过分了。您将使用什么来实现批量流动行为?

请注意,我希望获得与我编写的代码完全相同的代码(易于理解和调试),因此涉及产量或配置以将流相互连接的解决方案不足以满足我的目的。此外,链接 不是我要寻找的 - 我不想先构建一个链然后运行它,我想要看起来好像它是一个简单流程的代码(“Do A, Do B, if C then做 D")。

0 投票
4 回答
4746 浏览

workflow - Windows 工作流程

任何人都可以解释什么是 Windows 工作流程以及我们如何在工作组织中使用。

0 投票
2 回答
401 浏览

com - 使用 COM 互操作处理对象生命周期的最有效方法是什么?

我有一个 Windows 工作流应用程序,它使用我为 COM 自动化编写的类。我正在使用 COM 从我的课程中打开 Word 和 Excel。

我目前正在我的 COM 助手中实现 IDisposable 并使用 Marshal.ReleaseComObject()。但是,如果我的工作流程失败,则不会调用 Dispose() 方法,并且 Word 或 Excel 句柄保持打开状态并且我的应用程序挂起。

这个问题的解决方案非常简单,但不仅仅是解决它,我想学习一些东西并深入了解使用 COM 的正确方法。我正在寻找“最佳”或最有效和最安全的方式来处理拥有 COM 句柄的类的生命周期。模式、最佳实践或示例代码会有所帮助。

0 投票
1 回答
2828 浏览

asp.net-mvc - WF 和 ASPNET MVC

有没有办法在 ASPNET MVC 中以交互方式使用 MS WF?

0 投票
11 回答
71667 浏览

.net - 何时使用 Windows Workflow Foundation?

有些事情通过手工(代码)更容易实现,但有些事情通过 WF 更容易实现。看起来 WF 可以用来创建(几乎)任何类型的算法。所以(理论上)我可以在 WF 中完成所有逻辑,但对所有项目都这样做可能是个坏主意。

在什么情况下使用 WF 是个好主意,什么时候它会让事情变得更难?WF 与手工编码的优缺点/成本是什么?

0 投票
3 回答
1126 浏览

serialization - 使用 Microsoft WF 序列化版本化工作流

我有一个简单的业务工作流程,具有以下条件

  1. 用户需要使用设计器更改工作流程本身
  2. 工作流程是一个长时间的rinning工作流程,所以会被序列化

有没有办法自动执行不同工作流程序集的版本控制任务?