WF Designer重新托管System.StackOverflowException

时间:2014-02-06 09:26:41

标签: c# wpf xaml workflow-foundation activitydesigner

我需要帮助重新托管WF4的设计师。它应该用于设计 非常复杂的工作流程,但嵌套活动有限。 (它的 大约40个嵌套活动在一个分支中)。如果超出限制,则 在PresentationCore.dll中发生System.StackOverflowException。

有没有办法,如何增加System.StackOverflowException的限制?

Here是下载的代码示例。构建并执行应用程序后,移动 滚动条将持续数字为40的活动,并且应该发生异常。

2 个答案:

答案 0 :(得分:0)

我可以毫无错误地运行它并滚动到最底层 - 虽然它确实有点慢 - (64位机器,16 GB内存)。

您可以在创建新线程时分配堆栈大小,但我不知道如何更改应用程序中默认UI线程的大小...如果可以,我不确定它是否可以是个好主意。

此外,增加限制只是隐藏整体问题 - 这就是为什么你首先需要这个 - 是否真的要在工作流中嵌套40层复杂性?这将是完全笨拙和非常难以支持。难道逻辑不能分成子工作流等吗?

答案 1 :(得分:0)

我通过使用VisualStudio中的实用程序EDITBIN来增加堆栈的大小来解决问题

editbin / STACK:6291456“WpfApplication1.exe”

不幸的是,通过在项目属性中添加到Post-Build部分,它在VisualStudio中不起作用。 所以我创建了bat文件,这是在构建之后执行的必要条件。