The CentralStatus sample is an ASP .NET project that uses SOAP to communicate with a number of ipMonitor instances and display status information on a single web page.
With this sample, you can:
Downloads:
ipMonitor SOAP Methods Used (C#):
Project Discussion
Our goal for this project is to showcase how to retrieve real-time status information in ASP .NET with as little "display formatting" as possible. Our technique is to collect status information and store it in the following tree format:
| design | implementation |
|---|---|
|
ServerList Server Group Monitor Monitor Group Monitor Monitor Server Group Monitor Monitor Group Monitor Monitor |
ipm7ServerList ipm7ServerList::servers ipm7Server ipm7Server::groups ipm7Group ipm7Group::monitors rtMonitor |
Note: To retain our goal of keeping the sample as simple as possible, we've taken the above tree and expressed it in Javascript as an array of Javascript Objects. We're expecting Javascript to render HTML from the Javascript variables. With all the display formatting in Javascript, the ASP .NET code contains very little other than how to collect status information.
Class View, Courtesy of Microsoft Visual Studio .NET 2003

SOAP Sample Breakdown, by File:
.\wwwroot\centralstatus.csproj[.webinfo]
The C# project that contains everything needed to compile the web application. Note: you will likely have to change
the webinfo file to correspond to the location of centralstatus.csproj.
.\config\centralstatus.xml
Settings for the sample; includes refresh rates, password and account info, and location of servers. This file
is intentionally left out of the wwwroot so it doesn't get downloaded. (Later we'll expand this sample to show the usage
of "utility.LoadWithMachineKey" so passwords and accounts aren't stored out in the open.)
.\wwwroot\bin\com.ipmonitor.samples.centralstatus.dll
ASP .NET compiled code to run behind the aspx pages.
.\wwwroot\global.aspx[.cs]
Applicaton "global" object (receives application events) and is where we create our ipm7ServerList and start
the thread that keeps it up-to-date. Note that the centralstatus.xml is read in the global.aspx.cs file.
.\wwwroot\centralstatus.aspx[.cs]
The web page that receives the ipm7ServerList data in Javascript, then re-renders it in HTML. This page auto refreshes.
This is also the place where we implement the System.Web.UI.Page: DisplayAll (as shown in the classview)
.\wwwroot\centralstatus.css
Display formatting css data for use with centralstatus.aspx.
.\wwwroot\centralstatus.js
The code that generates the HTML from the Javascript representation of ipm7ServerList. Since one cannot view source
of centralstatus.aspx to see the HTML, the bottom of the page includes a link to expose the HTML generated.
.\wwwroot\displayitems.cs
The thread that collects the information from all the servers listed in centralstatus.xml. The method(s) to translate
the c# objects (ipm7Server,ipm7Group,rtMonitor) into Javascript data.
.\wwwroot\utility.cs
A couple of our utility functions to make the sample function. Note: RewindPath is how we locate the centralstatus.xml.
.\wwwroot\ipm_menu.js
Javascript to assist with context sensitive menus
.\wwwroot\ipm_cookies.js & .\wwwroot\ipm_serialize.js
Javascript to assist with setting / retrieving persistent settings
.\wwwroot\imgs\*
Images used for display within centralstatus.aspx
.\wwwroot\Web References\ipm7status\*
The after effects of consuming the ipMonitor Status WSDL
< Back
For information on other features and concepts related to those discussed in this article, refer to the following ipMonitor resources:
![]()
Last Updated: March 30, 2004 | What did you think of this topic?