Announcing the Windows Communication Foundation Live Service Trace Viewer

 

by Craig McMurtry and Vittorio Bertocci

 

Announcing the …

Windows
Communication Foundation

Live Service
Trace Viewer
 Beta I

 

·        
Purpose

·        
Design

·        
Configuration

·        
Use

 

Purpose:

 

Figure
1: The Live Service Trace Viewer

 

 

The Service Trace
Viewer provided with the .NET 3.0 SDK allows the operation of Windows
Communication Foundation applications to be examined after the fact

 

The Live Service Trace Viewer shows their interaction
while it’s happening! 

 

As such, it can serve
as a tool for diagnostics and also to make
any Windows Communication Foundation demonstration
come alive. 

 

A video of the
Live Service Trace Viewer in action can be found here.  The Channel 9 interview with Laurence Melliol and Craig is here

 

Design:

Figure
2: Design of the Live Service Trace Viewer

 

The two primary
components of the Live Service Trace Viewer are
the Live Trace Listener and the Viewer

 

The Live Trace
Listener:

Any Windows
Communication Foundation application can be configured to use the Live Trace
Listener.  The Live Trace Listener interprets Windows Communication
Foundation activity and message log traces.  It incorporates a Sender that transmits the interpretations to a
designated queue, and a Receiver that
raises events as it reads interpretations from the queue. 

 

The Live
Service Trace Viewer: 

The Live Service
Trace Viewer handles the events raised by the Receiver and displays them in a
user interface that incorporates a Windows Presentation Foundation control
specially designed for the purpose by IdentityMine

 

This modular design
provides for the possibility of using various data sources, such as trace
files instead of applications configured to use the Live Trace Listener
directly, as well as for creating any number of alternate Viewers. 

 

 

Configuration:

 

 

Figure 3: Configuring a
Windows Communication Foundation application to log messages

 

 

 

 

1.      Install the July CTP or RC 1 release of .NET
Framework 3.0. 

 

2.      Deploy the Live Service Trace Viewer:

Download and
unblock this archive, extract the components, and compile the solution. 

 

3.      Configure applications to use the Live Trace
Listener

a.      Reference the LiveTrace.dll assembly in the
attached archive (or simply copy the assembly into the same folder as your
executables). 

b.      Modify the diagnostics settings in the
application’s configuration file.  That can be done automatically. 
Simply select the Existing Configuration File item from the Live
Service Trace Viewer’s Configure Node menu, shown in figure 3, and
point the file dialog box that appears at the application’s configuration
file. 

c.       Recompile the application. 

 

 

 

Use:

 

Figure 4: The Live Trace Viewer User Interface

 

Figure 5: Expanded Node View

 

Figure 6: Collapsed Node View

 

Figure 7: Grouping Nodes

 

 

 

As
shown in figure 4, to the left, the Live Service Trace Viewer user interface incorporates
a Node List, a Connections List, a Detail Panel, and the Viewer.  
Two resizing bars are provided for adjusting the relative size of those
constituent parts. 

 

The Node List

As
services start listening for messages, they appear in the Node List. 
Clients appear in the Node List when they first send a message. 
Selecting an entry in the Node List causes information about the
corresponding service or client’s endpoints to be displayed in the Detail
Pane. 

 

The Connection List

When
messages are transmitted between two nodes, an entry appears in the
Connections List.  Selecting an entry in the Connections List causes the
content of the messages transmitted between the two corresponding nodes to be
displayed in the Detail Pane. 

 

The Viewer

Double-clicking
an entry in the Node List causes the corresponding service or client to be
displayed in the Viewer. 

 

Double-clicking
items in the Viewer toggles between the expanded view of the item, shown in
figure 5, to the left, and the collapsed
view, shown in figure 6

 

Individual
items in Viewer can be selected by left-clicking on them, and selected items
can be dragged to any position. 

 

Multiple
items can be selected at once by holding down the Ctrl key while selecting
each item.  With multiple items selected the Group Button can be used to
group the selected items, as shown in figure 7
Grouping items together allows one to move them together.   When a
group of items are selected, their grouping can be cancelled using the
Ungroup Button. 

 

The
Viewer can be cleared of contents using the Clear button. 

 

 

Please report any
defects or request enhancements to this beta application by e-mailing Craig
McMurtry
& Vittorio
Bertocci
.  One known limitation is that this version does not
support duplex contracts. 

 

 

 

 

 

 

$(‘div.breadcrumb-list span:last a’).addClass(‘last’);

3 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *