DiscountASP.NET SQL Backup v1.0.0.0

by Frank Perez December 4, 2011

It has been more than 6 months since I released the DiscountASP.NET SQL Backup utility. In that time I have received some good feedback and zero problems (excluding installation issues). Based on this, I'm ready to release v1 with a minor enhancement.

One of the most requested features I received was the ability to specify when the backup process is performed. By default, the DiscountASP.NET SQL Backup utility performs the Microsoft SQL Database Backup process at 12:00AM every day. Rather than trying to create my own scheduling system I decided to take advantage of the system that is already included in Windows - Task Scheduler.


Step 1: From the Actions menu, select the Create Basic Task... menu option.


Step 2: Name the task.


Step 3: Select when you want the task to start.


Step 4: Identify how often the task should be started.


Step 5: Select what action you want the task to perform.


Step 6: Enter the fullpath and filename of the DSB.Service.EXE file into the Program/script field. Be sure to include "-console" in the Add Arguments field. You will also need to include the fullpath in the Start in field.


Step 7: Click Finish.


If you would like a copy of this application, you can download the latest version from http://pfsolutions-mi.com/Product/DASPSQLBackup.

If you want to read all the blog posts on this topic http://pfsolutions-mi.com/blog/category/DSB.aspx


Links:
DiscountASP.NET http://discountasp.net/
DiscountASP.NET Control Panel API http://support.discountasp.net/KB/a176/control-panel-api.aspx
Microsoft .NET Framework 4 Client Profile http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab

Keywords:

Filed Under: .NET | DSB

Brooksie Way 2011

by Frank Perez October 2, 2011

Continuing my streak of running every Brooksie Way ½ Marathon since the inaugural race in 2008, I ran today with an official time of 1:45:36 (hh:mm:ss).  I’m already planning on returning next fall to make it 5 consecutive years.


Links:
Brooksie Way Half Marathon http://www.thebrooksieway.com

Keywords:

Filed Under: RUN

Bayshore Marathon 2011

by Frank Perez May 28, 2011

Today I ran the Bayshore Marathon for the second consecutive year with an official time of 4:01:28 (hh:mm:ss). That was nowhere near my PR (personal record) of 3:35:59 (hh:mm:ss), but my goal this year was to enjoy the race and have fun.

My favorite part about this race is not the course as much as it is spending time in Traverse City afterwards. This year was especially nice, because Belinda and I brought the kids. Everyone had a good time and we are looking forward to coming back next year.


Links:
Bayshore Marathon http://www.bayshoremarathon.org/

Keywords:

Filed Under: RUN

DiscountASP.NET SQL Backup v0.1.0.0

by Frank Perez May 5, 2011

A little over 6 months ago I started an ASP.NET MVC project for a client. During the planning phase we evaluated several web hosting companies and in the end choose DiscountASP.NET. One of the reasons we selected DiscountASP.NET is the Control Panel API feature.

The DiscountASP.NET Control Panel API allows us to programmatically manage our web hosting account. For example, we can manage email accounts, check bandwidth usage, and etc. All of these management functions are nice, but the one API feature that interested us the most was the ability to automate backups of the Microsoft SQL Database.

Look, I think it is important to choose a web hosting service provider who is reliable. However, any system can fail and data can be lost. Therefore, it is more important to not only choose a company you can depend on, but to utilize every feature you can to protect yourself. For this project, the ability to automatically perform a nightly backup of the website data and then download the backup to local storage was another layer of protection from a total data loss scenario.

With a simple goal of automating the Microsoft SQL Database Backup process and downloading the files to local storage, I started thinking about the features this process would need. Here is what I came up with:

  • Multiple Database Support - currently my client only has one hosted database, but I can see that changing in the future.
  • Purge Old Backups - the option to remove backups from the local storage that are more than XX days old.
  • Email Notification - the option to notify me if when a backup was performed and if the process was successful or failed.

Based on these criteria, I created the DASP SQL Backup application (DSB.Service.EXE) for performing automatic backups of a DiscountASP.NET MSSQL database. This application installs as a Windows Service and runs in the background without any user interface. Running the application as a service adds the ability to use the Windows Service Control Manager to Start, Stop, Pause, Resume, and Restart the application. In addition, there is no need to worry about restarting the application if the PC is rebooted, because the service can be set to automatically start on boot up.


The DSB.Service.EXE application records all events (success, failure, error) in the Windows Application Event Log with a Source of DASP SQL Backup. By recording events in the Windows Application Event Log, I can use 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 DSB.Service.EXE application includes 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: Databases.XML and DSB.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 http://pfsolutions-mi.com/Product/DASPSQLBackup. The following is a list of important notes:

  • This application requires the Microsoft .NET Framework 4 Client Profile.
  • You must enable the DiscountASP.NET Control Panel API.
  • 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?

Links:
DiscountASP.NET http://discountasp.net/
DiscountASP.NET Control Panel API http://support.discountasp.net/KB/a176/control-panel-api.aspx
Microsoft .NET Framework 4 Client Profile http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab

Keywords:

Filed Under: .NET | DSB

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 want...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 http://pfsolutions-mi.com/Product/WebsiteMonitor. 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?

Links:
Microsoft .NET Framework 4 Client Profile http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab

Keywords:

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