Archive

Archive for June, 2009

Debugging Windows Services

June 18th, 2009 Anuraj P No comments

In the current project, I have to develop some windows services to sending out notification mails.
The first challenge I faced is I can’t directly run and debug the Windows service.
For that I need to install the service (using installutil –I ServiceName) and attach the process to Visual studio, and then only I can debug it.

It works fine for me.

Then the next challenge was, debugging the code in the onStart event. Because once the service started, then only we can able to attach it to Visual Studio. So I put some code to write to text file, and/or event log. But I feel like it’s not a good method. After searching in the net I got a nice workaround.

protected override void OnStart(string[] args)
{
System.Diagnostics.Debugger.Launch();
//Rest of the code
}

While starting the Service, it will display a dialog like this

Visual Studio Debug dialog

Visual Studio Debug dialog

After selecting Yes, Visual Studio will open up and you can start debugging. You can get more information from these links

  1. http://blogs.msdn.com/yaleeyangmsblog/archive/2007/05/02/three-ways-debugging-net-windows-service.aspx
  2. http://geekswithblogs.net/GertVerhoeven/archive/2007/11/28/117181.aspx
  3. http://msdn.microsoft.com/hi-in/magazine/cc301845(en-us).aspx

A Simple Splash screen in C#

June 12th, 2009 Anuraj P 3 comments

I started my .net career in VB.Net. While developing a windows application in VB.Net it is pretty easy to put a Splash screen. There is Project property called Splash screen and you can put any form there, after that the specified form will act as a Splash screen. But when I started an windows application in C#, there is no project property called Splash screen. While doing some searching, I found lot of ways, like putting a timer and closing the splash etc. But I feel like it is not the right way of doing a splash screen, then I started my own implementation and found one. I am not sure it is good one or not, but it is working for me.

Here is the steps:

  1. Added one Form with an Image, as Splashscreen.cs, and my main UI is Welcome.cs
  2. In the Program.cs I modified the code like the following
  3. static void Main()
    {
    	Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
    	Application.EnableVisualStyles();
    	Application.SetCompatibleTextRenderingDefault(false);
    	SplashScreen s = new SplashScreen();
    	s.Show();
    	Welcome welcome = new Welcome(s);
    	Application.Run(welcome);
    }
    
  4. And in the Welcome.cs, added one parameterized constructor, with SplashScreen as the Parameter
  5. SplashScreen _s = null;
    public Welcome(SplashScreen s)
    {
    	InitializeComponent();
    	this._s = s;
    }
    
  6. And in the Form_Load() event I added code to close the splash screen if exists.
  7. if (this._s != null) { this._s.Close(); }
    
  8. Run the application, see the splash is coming and after that Main UI is coming

Mini TechEd in Trivandrum

June 11th, 2009 Anuraj P No comments

logo
Kerala Microsoft user’s group (K-MUG) is organizing a Mini-TechEd in Trivandrum. Don’t miss this Free opportunity to learn about Windows 7, Visual Studio 2010 features, WPF, What is new in ASP.NET 4.0, SQL server best practices,SQL logical query execution and optimization tips,Hidden Gems in SQL Server.

Details

Date : 27th June 2009

Venue : Technopark, Trivandrum

Register Now!

Agenda

  1. Visual Studio 2010 Features
  2. What is new in ASP.NET 4.0
  3. Silverlight 3.0
  4. Windows 7 for developers
  5. SQL server best practices
  6. SQL logical query execution and optimization tips
  7. WPF Graphics
  8. Hidden Gems in SQL Server
  9. All about User Experience

Related Links:

Categories: Miscellaneous Tags: ,