3 Tips for boosting your .net Business/Server Products

1. Write windows Event Log
Use Windows Event log to ensure that your app is working as expected. Useful in notifying the System Administrator, in case some failures or important events occur?

Sample Code:

using System.Diagnostics;

public void WriteEventLog(string strCallerName, string strLogLine)
{

  if (!System.Diagnostics.EventLog.SourceExists(strCallerName))
  {

    System.Diagnostics.EventLog.CreateEventSource(strCallerName, "Application");
  }
   EventLog EventLog1 = new EventLog();
   EventLog1.Source = strCallerName;  
   EventLog1.WriteEntry (strLogLine, EventLogEntryType.Warning)
 
}

2. Single Instance of Your Application

You can prevent multiple instances of your application by using Mutex.  This ensures that your application is having only one instance at a time, preventing it from any unexpected outcomes. Here is the code for the Main method:

using System.Threading;

static void Main()
{
  bool bAppFirstInstance;
  oMutex = new Mutex(true, "Global\\" +demoApp, out bAppFirstInstance);
  if(bAppFirstInstance)
    Application.Run(new form demoApp() or class demoApp());
  else
    MessageBox.Show("Only one instance of application is allowed. ", "Startup warning",  MessageBoxButtons.OK,   MessageBoxIcon.Exclamation,  MessageBoxDefaultButton.Button1);
}

3. Use Environment Variables
With .NET, we have a class which lets us access all system information. OS version, CLR version, user name, values of system variables such as the temp folder, physical memory mapped to your app etc. All this information can be extracted with the environment class:

using System;

public static void GetEnvironmentInfo()
{
    // Fully path of the current directory
    Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory);
   
    // Gets the name of local computer
    Console.WriteLine("MachineName: {0}", Environment.MachineName);
 
    // Version of the OS
    Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());
   
  // Full path of the system directory
    Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory);
   
    // Network domain name
    Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName);
   
   // Whether the current process is running in user interactive mode
    Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive);
 
   // User who started the current thread
    Console.WriteLine("UserName: {0}", Environment.UserName);
   
   // Major, minor, build, and revision numbers of CLR
    Console.WriteLine("CLRVersion: {0}", Environment.Version.ToString());
 
   // Amount of physical memory mapped to the process
    Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet);
 
    // Returns values of Environment variables
    Console.WriteLine("ExpandEnvironmentVariables: {0}",    Environment.ExpandEnvironmentVariables("System drive: " +   "%SystemDrive% System root: %SystemRoot%"));
   
  // names of the logical drives
    Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", Environment.GetLogicalDrives()));
}

 
The above function will work with console applications only (as it has Console.Writelines). For your use, modify it the way you need..

150 150 Burnignorance | Where Minds Meet And Sparks Fly!