Website Monitor v2.0

by Frank Perez November 22, 2013

Two and half years ago I released the first version of the WSM (Website Monitor) application. In that time I have received some good feedback and have enjoyed working on this project. Today I'm proud to release the next version of WSM with some very cool features.

  • Installation Program
  • User Interface
  • SQL Compact Data
  • Digitally Signed

Installation Program

WSM now includes a real installation program. The installation program will automatically verify that all of the required components (Microsoft .NET Framework 4.5 and Microsoft SQL Server Compact 4.0) exist. If a required component doesn't exist, the installation program will download and install it.

User Interface

WSM now includes a user interface. The user interface simplifies the setup process and makes interacting with WSM easier.

Account List

The Account List is the main form. This form displays the current status of every account, is used to perform account maintenance (new, edit, delete), and access the logs.

Service Menu

  • Start: starts the service in the Service Control Manager.
  • Stop: stops the service in the Service Control Manager.
  • Restart: restarts the service in the Service Control Manager.
  • Install: installs the service in the Service Control Manager.
  • Uninstall: uninstalls the service from the Service Control Manager.


  • New Account: displays the Account Maintenance with a new account.
  • Edit Account: displays the Account Maintenance form for the selected account.
  • Delete Account: permanently deletes the selected account and all of the corresponding logs.
  • Account Logs: displays the Log List form for the selected account.
  • Import Accounts: creates accounts by importing settings from WSM v1.

Account Maintenance

The Account Maintenance form is used to define the account settings. This form includes the ability to test the settings and to manually perform the website check process.


  • Account Settings: Description, URL, and Timeout After are required.
  • SMTP Settings: optional.
  • Notification Settings: optional.
  • Schedule Settings: all settings are required.

Test Button

The Account and SMTP settings include a Test button. Keep in mind that if you run WSM as a Windows Service, the credentials you test with could have different rights than the Windows Service.

Run Now Tool Button

The Run Now button can be used to manually perform the website check process.

Log List

The Log List form displays the account logs.

SQL Compact Data

WSM now stores the account information and logs in a SQL Compact 4.0 Database. The database is located in the Common Program Data folder. On a Windows 7 PC, this equates to C:\ProgramData\PF Solutions\Website Monitor\.

Digitally Signed

All of the WSM EXE and DLL files are now digitally signed.



Filed Under: .NET | WSM

Website Monitor v1.0.0.0

by Frank Perez December 17, 2011

It has been more than 7 months since I released the first Website Monitor utility. Almost immediately after releasing the utility I had some ideas for improvement, but I wanted to wait until I received some feedback before working on a new version. Well, it's been long enough and I'm ready to release v1 with a few enhancements.

The first enhancement is an OnErrorCheckEverySeconds setting. This setting controls how often a website will be checked once an error occurs. For example, I might want to check a website every 10 minutes, but if an error occurs I want to check every minute.

The second enhancement is the ability to log each website check to a file. This enhancement was the most requested feature that I received. The logging feature is activated by entering a valid directory into the LogFolder setting. If the directory does not exist, the Website Monitor utility will try to create it. It goes without saying that the Website Monitor utility will need read, write, and delete rights to the directory.

The third and final enhancement is related to the second. It is the ability to automatically purge the old log files. If you don't want the Website Monitor to delete the logs, simply set the PurgeLogsAfterDays setting to zero.

If you would like a copy of this application, you can download the latest version from

If you want to read all the blog posts on this topic


Filed Under: .NET | WSM

Website Monitor v0.1.0.0

by Frank Perez April 30, 2011

For a while now I have wanted a way to monitor my website. I don't visit the site every day. That meant that if there was ever a failure, it could be weeks before I found out. I have also found that periodically "hitting" my website prevents the web server from unloading the site from memory.

Guessing that I wasn't the only person with this issue, I did some research and found two types of solutions. The first type of solution is what I would describe as a Website Monitoring Service Provider. In other words, a company that monitor websites for a monthly and/or annual fee. The second type of solution I found could be described as Website Monitoring Software. Typically, this was an application I could install on my PC and configure to monitor one or more websites.

Faced with two kinds of solutions, I started thinking about the features I really wanted. Here is what I came up with:

  • Monitor Multiple Websites - the ability to monitor my website and websites for my clients.
  • Control the Frequency of Checks - the ability to check the "Home" page every 10 minutes, but only call the "System Maintenance" page every 24 hours.
  • Control the Response Timeout - the "Home" page should respond in less than 15, whereas the "System Maintenance" page may need several minutes.
  • Failure Notification - the option to notify me if a website did not respond in the time specified.
  • Resumed Notification - notify me when a website was back online if the previous check failed. In my experience with using website hosting companies, it is not uncommon for a website to be un-responsive one moment and then a minute or two later be start working again

Based on these criteria, I was able to immediately rule out both the Website Monitoring Service Providers and Website Monitoring Software that I had previously found. The deciding factor was (A) the solution did not have the features I needed or (B) the price was too high.

One of the perks of being a software developer is that if you can't find an application that does exactly what you have the skills to build it yourself. (Hmm, it can be a curse too.) And that is what I did. Here's how it works.

WSM.Service.EXE is an application for monitoring one or more websites. It installs as a Windows Service and runs in the background without any user interface. This gives me the benefit of using the Windows Service Control Manager to Start, Stop, Pause, Resume, and Restart the application. I also don't have to worry about restarting the application if the PC is rebooted.

The WSM.Service.EXE application records all events (success, failure, error) in the Windows Application Event Log with a Source of Website Monitor. This gives me the benefit of using the Windows Event Viewer to see what happened and when. I also don't have to worry about purging old events, because Windows can handle this automatically.

The WSM.Service.EXE application does include command line options for installing, uninstalling, starting, and stopping the service. Keep in mind that Administrative privileges are required to perform these commands.

All configuration settings are stored in two XML files: Websites.XML and WSM.Service.exe.config. At this point I did not create a user interface for modifying these files. This is something that I am considering for the future.

If you would like a copy of this application, you can download the latest version from When using this application, please keep the following in mind

  • This application requires Microsoft .NET Framework 4 Client Profile.
  • Be sure to read the README.TXT file for instructions on installing the service and how to modify the configuration files.
  • I'd love to hear any feedback. What do you like, what do you not like, what kind of features would you like to see in future versions?

Microsoft .NET Framework 4 Client Profile


Filed Under: .NET | WSM

About Frank

Frank lives in West Bloomfield, Michigan with his wife and three children.  When he is not writing code, he enjoys long distance running and riding his motorcycle.

Month List

Tag Cloud