Click here to Skip to main content
1,858 members
Articles / Security / WinForms
Article

Host Switcher

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
25 Nov 2011CPOL 7.2K  
Quickly and easily alternate between servers in the hosts file.

HostSwitcher.png

Introduction

Host Switcher parses the host file, shows the available options, and lets you set a host using the tray. This is useful when we point to a single DNS name for WCF, Web Services, and so on, but we can test different environments.

Using the Code

Important: Before running the utility, grant full control access to your user for the hosts file at %systemroot%\System32\drivers\etc\.

When running the application, it will parse the hosts file and build a menu with options in the tray. Here is an example of the hosts file:

# DIT - DITSERVER01.domain.com
#10.65.116.200    site.domain.com

# SIT - SITSERVER01.domain.com
10.59.169.44    site.domain.com

# Prod - PRODSERVER01.domain.com
#10.59.71.132     site.domain.com

# Prod - PRODSERVER02.domain.com
#10.59.71.133     site.domain.com

# Prod - PRODSERVER03.domain.com
#10.59.61.169     site.domain.com

# Prod - PRODSERVER04.domain.com
#10.59.61.220     site.domain.com

In this example, when the user selects the option "DIT - DITSERVER01.domain.com" in the tray, the application will comment the SIT entry and uncomment the DIT entry. The "[No Hosts]" option will comment out all entries. The "View Hosts File" option will open the hosts file in Notepad for editing. If the hosts file is changed externally, the application will automatically rebuild the menu.

If right clicking the server option in the tray, it will copy the server name. When exiting the application, it will ask if the user wants to keep the current host configuration or comment all entries.

The code is simple, with the most important methods being ParseHostsFile() that will retrieve the entries in the hosts file and present them to the user, and UpdateHosts() that will comment the previous entry and uncomment the selected one.

Points of Interest

Nothing complex in the code, I just used FileSystemWatcher to get any external changes in the hosts file and automatically update the options for the application.

History

  • Initial release 1.0.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
Brazil Brazil
I started development 37 years from now, since MSX basic. Started Windows programming with VB 2.0 and Web programming with ASP 3.0. Then I built Windows Forms, Web Applications, NT services and WPF applications using Microsoft.NET. I am MCP in Visual Basic 6.0, MCAD and MCSD.NET in Framework 1.1, MCPD Web in Framework 2.0, MCTS in .NET 3.5 workflow, MCTS in .NET 3.5 communication foundation, windows presentation foundation and MVC applications. Built MVC Web Application and WCF services using Micro Services architecture proposed by me. Working with AI projects to improve the business performance and customer experience. Besides programming I love running, swimming, reading and movies.

Comments and Discussions

 
-- There are no messages in this forum --