Peter Goodman bio photo

Peter Goodman

A software engineer and leader living in Auckland building products and teams. Originally from Derry, Ireland.

Twitter Google+ LinkedIn Github

If you are working with Workflow Services (.xamlx) and you want an easy way to see live tracking from your workflow your only out-of-the-box option right now is AppFabric which doesn’t show live data and the UI can be a little slow. The Workflow Service Tracking Viewer (beta) uses SignalR and a custom tracking participant to serve a web page alongside your workflow endpoint that displays live tracking information as it happens.

The viewer is available as a NuGet package that plugs in to your existing web application projects containing workflow services.

1. Add the WorkflowServiceTrackingViewer package to your project using NuGet

CropperCapture[9]

2. If you have your project hosted in IIS or IIS Express rather than the Visual Studio Development Server then comment out the marked section in the web.config. Otherwise you will get an error when the Web Application starts.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpModules>
      <!-- Comment out this section if hosting in IIS 7.5 or IIS Express -->
      <add name="WorkflowServiceTrackingViewer"
           type="PeteGoo.WorkflowServiceTrackingViewer.TrackingViewerHttpModule, WorkflowServiceTrackingViewer" />

    </httpModules>
,.  </system.web>

3. Start the tracking viewer by going to the URI of your web application and adding “/trackingviewer” e.g. for the web application hosted at http://localhost/Foo/

TrackingViewerEmpty

4. Start an instance of your workflow service

wcfTestClient

5. The workflow tracking data should now appear in the browser window

trackingviewer

 

Known Issues

1. After applying and clearing a filter the grid is no longer the full length of the page.

2. After a while the page will slow down, clear the grid to get the performance back

3. When hosting in IIS on Win 7 the maximum connections to the tracking viewer is 2.

This seems to be related to the maximum connection for IIS as it affects any SignalR project

The source is available on GitHub.