如何在Windows Workflow 3.5中进行异常处理时获取堆栈跟踪?

时间:2011-08-08 15:20:24

标签: c# exception-handling workflow workflow-foundation

我试图弄清楚在Windows Workflow 3.5中调用Fault Handler时如何访问堆栈跟踪。故障处理程序连接到以下函数:

private void onGeneralFault(object sender, EventArgs e)

但我无法找到导致此问题的异常。故障处理程序容器有一个Fault对象,但是当我单步执行调试器中的代码时,它似乎设置为null。此外,Visual Studio中的工作流设计器中有一个单独的“Fault”属性用于单个故障处理程序,但这是灰色的,因此我无法设置它。

1 个答案:

答案 0 :(得分:2)

我明白了。这些演员阵容不是最漂亮的东西,但这就是我最终做的事情:

private void onGeneralFault(object sender, EventArgs e)
{
    CodeActivity thisActivity = (CodeActivity)sender;
    Exception exception = ((FaultHandlerActivity)thisActivity.Parent).Fault;
...

欢迎任何更好的解决方案。