by Craig McMurtry and Vittorio Bertocci
Announcing the ...
Trace Viewer Beta I
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
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.
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
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.
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.
Figure 3: Configuring a
Windows Communication Foundation application to log messages
1. Install the July CTP or RC 1 release of .NET
2. Deploy the Live Service Trace Viewer:
unblock this archive, extract the components, and compile the solution.
3. Configure applications to use the Live Trace
a. Reference the LiveTrace.dll assembly in the
attached archive (or simply copy the assembly into the same folder as your
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
c. Recompile the application.
Figure 4: The Live Trace Viewer User Interface
Figure 5: Expanded Node View
Figure 6: Collapsed Node View
Figure 7: Grouping Nodes
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
The Node List
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
The Connection List
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.
an entry in the Node List causes the corresponding service or client to be
displayed in the Viewer.
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.
items in Viewer can be selected by left-clicking on them, and selected items
can be dragged to any position.
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
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.
PingBack from http://www.primetime-software.de/simon.steckermeier/PermaLink,guid,86d29b5a-701d-4ace-b85a-db5ad9edaa09.aspx