Workflowüberwachung

Die Workflowüberwachung bietet eine Möglichkeit, Diagnoseinformationen mit .NET Framework-Ablaufverfolgungslistenern zu erfassen. Die Ablaufverfolgung kann aktiviert werden, wenn ein Problem mit der Anwendung erkannt wird, und dann wieder deaktiviert werden, sobald das Problem behoben ist. Es gibt zwei Methoden zur Aktivierung der Debugablaufverfolgung für Workflows. Sie können sie mit der Ereignisablaufverfolgung (ETW) konfigurieren, oder Sie können Ablaufverfolgungsereignisse mit System.Diagnostics an eine Datei senden.

Aktivieren der Debugablaufverfolgung in ETW

Zum Aktivieren der Ablaufverfolgung in ETW aktivieren Sie den Debugkanal in der Ereignisanzeige:

  1. Navigieren Sie in der Ereignisanzeige zum Knoten für analytische und Debugprotokolle.

  2. Navigieren Sie in der Strukturansicht der Ereignisanzeige zu Ereignisanzeige > Anwendungen und Dienstprotokolle > Microsoft > Windows > Application Server-Anwendungen. Klicken Sie mit der rechten Maustaste auf Anwendungsserver-Anwendungen, und wählen Sie Ansicht > Analytische und Debugprotokolle einblenden aus. Klicken Sie mit der rechten Maustaste auf Debuggen, und wählen Sie Protokoll aktivieren aus.

  3. Wenn ein Workflow den Debugmodus ausführt und die Ablaufverfolgungen an den Debugkanal in ETW ausgegeben werden, können Sie diese in der Ereignisanzeige anzeigen. Navigieren Sie zu Ereignisanzeige> Anwendungs- und Dienstprotokolle > Microsoft > Windows > Application Server-Anwendungen. Klicken Sie mit der rechten Maustaste auf Debuggen, und wählen Sie Aktualisieren aus.

  4. Die Standardpuffergröße für die analytische Ablaufverfolgung beträgt nur 4 Kilobytes (KB). Es wird empfohlen, die Größe auf 32 KB zu erweitern. Führen Sie dazu die folgenden Schritte aus.

    1. Führen Sie den folgenden Befehl im aktuellen Frameworkverzeichnis (z. B. C:\Windows\Microsoft.NET\Framework\v4.0.21203) aus: wevtutil um Microsoft.Windows.ApplicationServer.Applications.man

    2. Ändern Sie den <bufferSize>-Wert in der Datei „Windows.ApplicationServer.Applications.man“ in 32.

      <channel name="Microsoft-Windows-Application Server-Applications/Analytic" chid="ANALYTIC_CHANNEL" symbol="ANALYTIC_CHANNEL" type="Analytic" enabled="false" isolation="Application" message="$(string.MICROSOFT_WINDOWS_APPLICATIONSERVER_APPLICATIONS.channel.ANALYTIC_CHANNEL.message)" >  
                  <publishing>  
                    <bufferSize>32</bufferSize>  
                  </publishing>  
                </channel>  
      
    3. Führen Sie den folgenden Befehl im aktuellen Frameworkverzeichnis (z. B. C:\Windows\Microsoft.NET\Framework\v4.0.21203) aus: wevtutil im Microsoft.Windows.ApplicationServer.Applications.man

Hinweis

Wenn Sie das .NET Framework 4-Clientprofil verwenden, müssen Sie zunächst das ETW-Manifest registrieren, indem Sie den folgenden Befehl aus dem .NET Framework 4-Verzeichnis ausführen: ServiceModelReg.exe –i –c:etw

Aktivieren der Debugablaufverfolgung mit System.Diagnostics

Diese Listener können in der Datei App.config der Workflowanwendung konfiguriert werden bzw. in der Datei Web.config, wenn es sich um einen Workflowdienst handelt. In diesem Beispiel wird ein TextWriterTraceListener konfiguriert, um Ablaufverfolgungsinformationen in der Datei „MyTraceLog.txt“ im aktuellen Verzeichnis zu speichern.

<configuration>  
  <system.diagnostics>  
    <sources>  
      <source name="System.Activities" switchValue="Information">  
        <listeners>  
          <add name="textListener" />  
          <remove name="Default" />  
        </listeners>  
      </source>  
    </sources>  
    <sharedListeners>  
      <add name="textListener"  
           type="System.Diagnostics.TextWriterTraceListener"  
           initializeData="MyTraceLog.txt"  
           traceOutputOptions="ProcessId, DateTime" />  
    </sharedListeners>  
    <trace autoflush="true" indentsize="4">  
      <listeners>  
        <add name="textListener" />  
      </listeners>  
    </trace>  
  </system.diagnostics>  
</configuration>  

Siehe auch