Announcing the Windows Communication Foundation Live Service Trace Viewer





 

style='border-collapse:collapse'>

height=207 src="http://www.cryptmaker.com/LiveTraceAnnouncement/image002.gif">

style='font-size:10.0pt'>by Craig McMurtry and Vittorio Bertocci

 

style='font-size:20.0pt;font-family:"Segoe UI";color:#CC0000'>Announcing the …

style='font-size:20.0pt;font-family:"Segoe UI";color:#CC0000'>Windows
Communication Foundation

style='font-size:20.0pt;font-family:"Segoe UI";color:#CC0000'>Live Service
Trace Viewer
 Beta I

 

style='font-size:10.0pt;font-family:Symbol'>·        
style='font-family:"Segoe UI";color:blue'>Purpose

style='font-size:10.0pt;font-family:Symbol'>·        
href="#Design">Design

style='font-size:10.0pt;font-family:Symbol;color:blue'>· style='font-size:7.0pt;font-family:"Times New Roman";color:blue'>        
href="#Configuration">Configuration

style='font-size:10.0pt;font-family:Symbol;color:blue'>· style='font-size:7.0pt;font-family:"Times New Roman";color:blue'>        
href="#Use">Use

 

Purpose:

 

src="http://www.cryptmaker.com/LiveTraceAnnouncement/image002.jpg">

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 style='color:#CC0000'>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 href="http://www.cryptmaker.com/LiveTraceAnnouncement/LiveServiceTraceViewer.wmv">here.  The Channel 9 interview with Laurence Melliol and Craig is here

 

Design:

border=0 width=544 height=393 src="http://www.cryptmaker.com/LiveTraceAnnouncement/image003.jpg">

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 style='color:#CC0000'>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 style='color:#CC0000'>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:

 

border=0 src="http://www.cryptmaker.com/LiveTraceAnnouncement/image004.jpg">

 

style='font-size:10.0pt;font-family:"Segoe UI"'>Figure 3: Configuring a
Windows Communication Foundation application to log messages

 

 

 

 

style='font-family:"Segoe UI"'>1.      style='font-family:"Segoe UI"'>Install the July CTP or RC 1 release of .NET
Framework 3.0. 

 

style='font-family:"Segoe UI"'>2.      style='font-family:"Segoe UI"'>Deploy the Live Service Trace Viewer:

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

 

style='font-family:"Segoe UI"'>3.      style='font-family:"Segoe UI"'>Configure applications to use the Live Trace
Listener

style='font-family:"Segoe UI"'>a.       style='font-family:"Segoe UI"'>Reference the LiveTrace.dll assembly in the
attached archive (or simply copy the assembly into the same folder as your
executables). 

style='font-family:"Segoe UI"'>b.       style='font-family:"Segoe UI"'>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. 

style='font-family:"Segoe UI"'>c.        style='font-family:"Segoe UI"'>Recompile the application. 

 

 

 

Use:

 

style='font-family:"Segoe UI";color:#CC0000'>

style='font-size:10.0pt;font-family:"Segoe UI"'>Figure style='color:black'>4: The Live Trace Viewer User Interface

 

style='font-family:"Segoe UI";color:#CC0000'>

style='font-size:10.0pt;font-family:"Segoe UI"'>Figure style='color:black'>5: Expanded Node View

 

style='font-family:"Segoe UI";color:#CC0000'>

style='font-size:10.0pt;font-family:"Segoe UI"'>Figure style='color:black'>6: Collapsed Node View

 

style='font-family:"Segoe UI";color:#CC0000'>

style='font-size:10.0pt;font-family:"Segoe UI"'>Figure style='color:black'>7: Grouping Nodes

 

 

 

As
shown in figure 4, to the left, the Live style='color:black'> 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 href="mailto:craigmcm@microsoft.com?subject=Live%20Service%20Trace%20Viewer">Craig
McMurtry & href="mailto:vittorib?subject=Live%20Service%20Trace%20Viewer">Vittorio
Bertocci.  One known limitation is that this version does not
support duplex contracts. 

 

 

 

 

 

 

Comments (3)

  1. The Service Trace Viewer provided with the .NET 3.0 SDK allows the operation of Windows Communication…

  2. Dal blog di Vittorio Bertocci leggo l’annuncio del tool che consente di esaminare le comunicazioni e