问题标签 [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.

0 投票
3 回答
5382 浏览

c# - Workflow Foundation 4.5“表达式活动类型'CSharpValue`1'需要编译才能运行。”

我正在阅读 WF45 的入门教程,遇到了一个其他人似乎经历过的问题,但与我遇到的方式不同。我希望其他人有我的解决方案。

当我完成教程时,一切都很好,直到我必须从工作流主机运行它。此时,工作流的实例化失败并返回以下消息。

“Expression Activity 类型‘CSharpValue`1’需要编译才能运行。请确保工作流已经编译。”

我已尝试从Windows Workflow Foundation (WF45) - 入门教程下载源代码,以防我错过了一个步骤,但错误仍然存​​在。

在线阅读似乎需要编译具有嵌入式 C# 表达式的工作流,但据我了解,在使用 VS2012 和工作流设计器时默认情况下会发生这种情况?我试图实现在这里找到的 CompileExpressions 方法,但这并没有帮助。我确实读到在预发布版本中存在一个问题,C# 表达式导致了这个问题,但 VB 项目工作正常。对此进行测试,我发现我正在遭受这种确切的情况。VB 教程运行良好,但 C# 版本因此异常而失败。

此外,我敢说:这不是我同事机器上的问题,所以我认为这是我机器上的配置问题......

更新和闪避修复:

所以,我已经设法解决了这个问题,尽管我对解决方案不满意,并且很想听听是否有人有正当的理由发生这种情况。

我的解决方法是用我同事的同一文件版本替换\Framework\v4.0.30319文件夹中的Microsoft.Common.targets文件。这解决了这个问题。它还破坏了什么还有待观察......

0 投票
1 回答
281 浏览

c# - Workflow Foundation 4.5 如何在异常上重复活动

我的活动有时会引发异常。我想重复它,直到它成功完成。如何使用 Workflow Foundation 4.5 做到这一点?

0 投票
1 回答
209 浏览

workflow - 为工作流设置键/ID

Workflow Foundation 的新手,所以这对你们中的许多人来说可能是一个基本问题。

我有一个工作流设计器(客户端)/服务器应用程序。在设计器中,我可以将工作流上传到服务器,服务器将它们存储在数据库中。设计者可以请求从服务器下载工作流。下载完成后,我们可以在设计器中修改后再上传。为了能够做到这一点,我需要在工作流程中添加某种 ID/Key。

最好的方法是什么?

我正在考虑向 ActivityBuilder 添加一个属性,但这样做会将其添加到参数列表中,这似乎不正确......

任何帮助将非常感激


嗨@Will,我尝试将属性附加到活动,但我无法让它工作。我没有使用任何像 WorkflowRecord 这样的模型,它只是一个基本的设计师。

我使用 _workflowDesigner.Save(path); 保存它或 _workflowDesigner.Load(path); 加载它。

我创建并添加附加属性

如果我尝试访问附加的属性,它会抛出一个异常(不包含键的定义)

我通读了这个 [post] ( http://blogs.msdn.com/b/kushals/archive/2010/01/04/base-designer-with-additional-adornments.aspx ) 将附加属性添加到活动

0 投票
0 回答
250 浏览

c# - 自定义 Windows Workflow Foundation,如 CryEngine Flowgraph

我正在开始一个新项目,该项目旨在根据某些条件(文件存在、计时器等)运行一组任务。我有兴趣利用 Windows Workflow Foundation 的流程图功能来实现这一目标,但我觉得它提供的控制不够。

我希望能够创建一个 Activity,它不仅具有多个输出,而且可以直观地接受输入。“属性”网格非常适合开发人员,但不一定适合最终用户。

本质上,我希望在 C# 中实现类似于简化的 CryEngine FlowGraph 编辑器的东西。

这是否可以使用/扩展 WF4.5 或者我应该花费大量时间来开发自定义 WPF 解决方案?是否有任何项目可以提供类似的视觉设计师?

谢谢。

0 投票
1 回答
2899 浏览

workflow - 设计器上的工作流基础本机活动子活动

我创建了如下所示的 Native Activity:

这是取自工作样本的类:

http://code.msdn.microsoft.com/windowsdesktop/Windows-Workflow-c5649c23#content

但是,当我打开 XAML 文件时,我无法看到范围内的子活动,如上面链接中的图片所示。我只能看到范围的名称。

我已经创建了自己的 NativeActivity 版本,但我遇到了同样的问题。是否有一些我必须遵循的程序可以让我看到 NativeActivity 的主体,我可以在其中拖放其他活动(类似于序列活动),如演示描述中所示?

0 投票
1 回答
312 浏览

workflow-foundation-4 - 使用 sqlWorkflowInstanceStore 时在 WF 4.5 中检索 WindowsIdentity.Name 时出现问题

我正在使用 Microsoft 的 WF 4.5,并且在很大程度上取得了成功。我将它用于内部网站,因此在我们的域中使用 Windows 身份验证。但是,我偶然发现了一个错误,我无法解决。

每当我尝试在 web.config 中启用 sqlWorkflowInstanceStore 时,Workflow 在尝试将 System.ServiceModel.ServiceSecurityContext.Current.WindowsIdentity.Name 分配给变量时都会引发异常。

下面是我的 web.config(密码被故意屏蔽了)

如果我注释掉 sqlWorkflowInstanceStore,那么 WindowsIdentity.Name 就会恢复正常。

任何想法为什么?

0 投票
0 回答
2206 浏览

permissions - 如何删除权限混乱的 Workflow Manager 1.0 子范围?

我安装了 Workflow Manager,并将“OAuthS2SSecurityConfiguration”应用于我要删除的子工作流。

当我运行以下任何命令时,我会收到“内部服务器错误”。由于我在 EventLogs 或本地日志中什么都看不到,我只能假设这是一个身份验证问题(我过去删除了工作流,没有任何问题。)

我还尝试使用空安全配置覆盖工作流。我也收到了一个内部 HTTP 错误。

最后,我运行了以下 powershell 命令:

我也收到了一个内部服务器错误:

Remove-WFScope:发生内部错误。有关详细信息,请参阅服务器日志。从服务器收到的 HTTP 标头:...

0 投票
1 回答
309 浏览

workflow-foundation-4.5 - 保存 WF 状态机的状态转换历史

我正在研究使用 .NET 4.5 Workflow Foundation 为某些对象实现状态机。我想知道如何保存状态之间转换的历史。我会使用持久性,但我的理解是这只是跟踪当前状态,而不是转换的历史,并且在达到终端状态时将其删除。

具体来说,我正在寻找类似以下的内容:

确切的格式有待确定,但如图所示,这显示了对象如何从一种状态移动到另一种状态,由谁以及何时移动。

WF如何做到这一点?

0 投票
1 回答
269 浏览

workflow-foundation-4.5 - WF状态机是否可以有多个终端状态?

我只是在学习如何在 WF 中使用状态机。我想知道我是否可以有多个退出状态?用例将是单个进入状态,最终会处于多个退出(终端/最终)状态之一。例如,可以说对象是订单。进入状态将是“待处理”,但它可能最终处于两种状态之一(经过一些处理):“已发货”或“已取消”。这是可能的还是状态机必须有一个终端状态?

0 投票
2 回答
966 浏览

c# - 这种类型分配错误是 WCF 或 Windows Workflow Foundation 4.5 中的错误吗?

我有一个 Windows Workflow Foundation 4.5 WCF 工作流服务应用程序。我正在尝试Dictionary<IEdmEntityType, DataTable>从我的CodeActivity<Dictionary<IEdmEntityType, DataTable>>. 代码不会遇到编译时错误,但 XAML 无法编译。

我的 XAML 的相关部分如下所示:

我们有序列的变量声明,我试图转储我的返回值。我们试图分配的变量被称为EntityTableRelationships.

还有,从我们被分配到OutArgument的返回值。ExecuteCodeActivity<..>EntityTableRelationships

产生的 XAML 验证错误是:

这是我在设计器中看到的

最初我以为我输入了错误的返回值,或者我引用了一个同名但在不同命名空间中的接口。不是这种情况。

我的另一个想法是,工作流程可能不适用于任何Dictionary<TKey, TValue>声明TKey为任何接口。我做了一个测试用例,它工作得很好。我还按顺序将该步骤添加到设计器中,就像这里所做的那样。我没有尝试使用IEdmEntityTypeas the TKey,但没​​有理由,我可以看到,为什么它应该有所不同。

这可能是什么原因,我该如何解决?

编辑#1

进一步的研究表明,这DataTable是罪魁祸首。DataSet也有问题。我能看到这些类型的唯一独特之处是它们继承自MarshalByValueComponent其中具有 a TypeConverterAttribute。这TypeConverter可能会影响 XAML 序列化绑定程序并导致问题,因此表明 WF 4.5 中存在错误。但是,我不敢说这是一个错误。

Dictionary<TKey, DataTable>似乎不能通过设计器在 WF 4.5 中传递。

编辑#2

似乎它可能与或可能没有任何关系DataTable。你也不能绕过Dictionary<IEdmEntityType, object>

System.Data为了尝试使用之外的类重现该问题System.Object,我创建了一个新的工作流项目。

我创建了自己的接口、类和结构,以查看是否有任何东西会触发它再次中断。

我没有使用IEdmEntityType,而是将IMyInterface其定义为:

MyStruct结构工作正常。这是定义:

MyClass门课做得很好。这是定义:

MyClassComplex具有自动属性和对 an 的引用object也有效。

本来我也觉得可能和 and 之间的共同属性有关系DataTableDataSet所以我把它们加到了 中MyClassComplex,但还是没问题。

此外,我MyClassComplex继承自MarshalByValueComponent,并且没有奇怪的交互,再次没有错误。

我采用了同一个项目,只是将我的变量设置为 aDictionary<IMyInterface, DataTable>并将其更改CodeActivity<IMyInterface, MyClassComplex>CodeActivity<IMyInterface, DataTable>,它给出了与我原来的非测试项目中相同的错误。

编辑#3

由于我已经对此进行了测试并在单独的项目和同事的机器上重现了该问题,并且没有文档支持为什么这不起作用,因此我已在 MS Connect 上提交了错误报告