2013-03-14 34 views
0

有没有人遇到过在WorkflowApplication中调试工作流的问题,有时它不会在Execute方法的断点处中断?这种情况不会一直发生,但是非常频繁。我试过删除.suo文件并重新打开VS2012,但它通常无济于事。使用WorkflowApplication调用的调试工作流有时在工作流的断点处不会中断

如果你遇到过这个问题,你通常会怎么做才能让它在断点再次突破?

此外,是否有一个WorkflowApplication进程可以附加到调试中,类似于我附加到IIS进程(w3wp.exe)的方式?如果是这样,那么WorkflowApplication流程的名称是什么?

在此先感谢!

回答

0

看起来像我发现我的问题。这是我正在尝试调试的Activity类中的一个程序集加载问题。我能够通过附加到IIS进程来调试活动,但只要我将代码添加到活动的execute方法中以实例化日志程序集,就无法在执行方法中破解活动。

Activity编译正常,但是当我使用WorkflowApplication运行Activity时,必须处理WorkflowApplication的Aborted或OnUnhandledException事件,以确定Activity无法加载或找到日志程序集。

非常感谢大家为我排忧解难!

0

WorkflowApplication不是实际的应用程序,它是托管工作流程的组件。要使用WorkflowApplication执行工作流程,您必须拥有可保存WorkflowApplication并执行工作流程的应用程序(控制台,赢取服务等)。你可以附上这个过程。

+0

感谢您花时间阅读我的文章。如果我有一个运行WorkflowApplication的IIS webservice异步调用长时间运行的活动(在fire and forget机制中)并且webmethod完成。我是否仍可附加到IIS进程以调试长时间运行的工作流?我试过这样做,但没有成功。 谢谢! – ptn77 2013-03-20 21:58:33

+0

@ ptn77当你说“长时间活动”时,你会怎么看?如果您的工作流程执行保持进行中,那么您可以附加到IIS进程和调试。如果您的工作流程已保存到数据库,并等待书签恢复,那么你将不再能够附加,因为它不再处理。 – Enes 2013-04-02 22:21:25

+0

当我说长时间运行时,我的意思是它有可能被保存到数据库中,但是当它继续使用书签时,另一个进程将运行它,例如Windows服务。在那种情况下,我将不得不重视Windows服务流程,对吧?我遇到了一个问题,即工作流由IIS进程调用,但无法让我的调试器停在断点处。有时它有效,有时不起作用。 – ptn77 2013-04-03 23:11:27

0

您可能尝试删除bin和obj文件夹并重建所有文件夹。

+0

嗯..我想我试图删除bin和obj文件夹,当我删除.suo文件...我会再试一次,让你知道如果这可以解决我的问题。谢谢! – ptn77 2013-04-03 23:14:33