gpt4 book ai didi

c# - 如何调试动态工作流(使用自定义事件)

转载 作者:行者123 更新时间:2023-11-30 12:10:57 26 4
gpt4 key购买 nike

我正在尝试调试动态加载的工作流程。为此,我基本上实现了以下步骤:

var currentWorkflow = ActivityXamlServices.Load(@"d:\test.xaml");
var wfApp = new WorkflowApplication(currentWorkflow, anyInputs);
wfApp.Run();

现在我想逐步调试工作流的事件 - 如果可能的话在工作流设计器中。在 MSDN 中我发现了一个 article如何在调试菜单上的工作流中设置断点,

  1. On the Debug menu, select New Breakpoint.

  2. Click Break at Function. The New Breakpoint dialog box opens.

  3. Specify the name of an activity in the Function text box using this syntax: QualifiedActivityId[:[FullClassName][:InstanceId]].

...

但我不知道如何在函数文本框中指定事件的名称以及如何获取 QualifiedActivityId。

谁能举个例子?

另一个问题是我在松散的 xaml 中有许多自定义事件,这些事件在设计器中以红色框显示并带有以下消息:“由于 XAML 中的错误无法加载事件” .有没有一种方法可以加载相关程序集,以便 VS2010 可以显示带有自定义事件的松散 xaml?

最佳答案

这样做:

  • 将 XAML 加载到 VisualStudio(在您的情况下为 d:\test.xaml)
  • 在工作流中设置断点(只需选择一个事件并按 F9)
  • 在 VS 调试器 (F5) 中启动包含 wfApp.Run() 行的应用程序
  • 一旦您的应用程序加载 xaml 并运行它,您的断点就会被击中,您可以检查 WF 变量,跳过下一个事件等。

所以没什么特别的,无需按名称指定事件,只需单击并选择即可。

在现实世界中,我总是有一些运行代码的测试用例,所以我只是使用 VS2010 中的“测试 -> 调试 -> 在当前上下文中测试”选项,而不是 F5 键。将光标放在测试方法中,然后按 Ctrl-R Ctrl-T(这是该操作的默认绑定(bind))。或者,如果您安装了 ReSharper,则可以单击“单元测试 session ”窗口中的“调试器”按钮。

关于c# - 如何调试动态工作流(使用自定义事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com