使用自定义代码调试业务流程

如果要在测试环境中执行业务流程,或者要创建原型并想要修改消息字段和业务流程变量的值,则可以在 表达式 形状中使用以下代码将输出写入 Visual Studio 控制台:

System.Diagnostics.Debug.WriteLine(iResult);  

需要将此 Expression 形状紧跟在执行操作的形状之后,以便输出结果以供调试。

或者,可以通过用包含方法的类创建调试 DLL 来编写简单的自定义调试器,在业务流程中定义格式并在调试 DLL 中引用该格式的情况下,该调试器会将输入理解为消息。 有关将消息作为参数传递的详细信息,请参阅 如何使用表达式创建对象和调用对象方法

此方法可以调出包括组合框或其他控件的调试对话框,允许用户修改值、取回编辑后的消息,并将其以返回值的形式传回。

设置一个布尔变量以指示业务流程是否处于调试模式,然后,无论你的业务流程中有一个想要修改值的点,都可以添加 一个决策 形状,其中包含一个仅当调试模式变量设置为 True 时才运行的实时分支, 或出现要检查的特定条件时。 从“决定”的实时分支中的表达式形状调用方法。 如果不再需要调试,请将调试模式变量设置为 False,或者删除 “决定 形状” () 并重新编译。

调试业务流程调用的 .NET 组件

以下步骤演示如何调试业务流程调用的 .NET 组件:

  1. 打开组件的 Visual Studio 项目。

  2. 在业务流程所调用的组件方法上设置断点。

  3. 单击“ 调试” 菜单,然后选择“ 附加到进程...” 以显示“ 附加到进程 ”对话框。

  4. 单击“附加到:”文本框旁边的“选择...”按钮,以显示“选择代码类型”对话框。

  5. 单击以选择 调试这些代码类型的选项: 选择 “托管 ”,然后单击“ 确定 ”按钮。

  6. 单击以从可用进程中选择 BTSNTSvc.exe进程 ,然后单击 “附加 ”按钮。

  7. 通过接收端口将消息发送至业务流程。

  8. .NET 组件应该在断点停止。

  9. 可以像往常一样使用 Visual Studio 执行调试。

    注意

    为获得最佳结果,应该在全局程序集缓存 (GAC) 中注册 .NET 组件。

另请参阅

业务流程调试器用户界面
调试业务流程