如何获得导致Persist操作失败的异常?

jim*_*asp 4 .net-4.0 workflow-foundation-4

我有一个标准的WCF服务工作流程,有几个持久化操作(都是通过UI拖放创建的).大多数坚持不懈的行动都会成功,但其中一个失败了

将失败的Persist操作包装在Try/Catch块中没有帮助 - 它只是跨过catch并终止工作流.

如何找到持久性失败的具体原因?是否记录任何异常?

我正在开发Windows XP.

Pab*_*lla 7

我将异常记录在一个向System.Activities.DurableInstancing名称空间添加监听器的文件中,您将能够在那里看到异常:

<system.diagnostics>
    <sources>
      <source name="System.Activities.DurableInstancing" switchValue="Verbose">
        <listeners>
          <add name="textListener" />
          <remove name="Default" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="textListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\Log\persistenceproblem.txt" traceOutputOptions="ProcessId, DateTime" />
    </sharedListeners>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="textListener" />
      </listeners>
    </trace>
  </system.diagnostics> 
Run Code Online (Sandbox Code Playgroud)

这里有我的博客 http://pablocastilla.wordpress.com/2012/05/18/how-to-analyze-a-workflow-foundation-4-0-persistence-problem/