我试图弄清楚在Windows Workflow 3.5中调用Fault Handler时如何访问堆栈跟踪。故障处理程序连接到以下函数:
private void onGeneralFault(object sender, EventArgs e)
但我无法找到导致此问题的异常。故障处理程序容器有一个Fault对象,但是当我单步执行调试器中的代码时,它似乎设置为null。此外,Visual Studio中的工作流设计器中有一个单独的“Fault”属性用于单个故障处理程序,但这是灰色的,因此我无法设置它。
答案 0 :(得分:2)
我明白了。这些演员阵容不是最漂亮的东西,但这就是我最终做的事情:
private void onGeneralFault(object sender, EventArgs e)
{
CodeActivity thisActivity = (CodeActivity)sender;
Exception exception = ((FaultHandlerActivity)thisActivity.Parent).Fault;
...
欢迎任何更好的解决方案。