Skip to main content

Windows Service in C#

http://www.c-sharpcorner.com/uploadfile/mirfan00/windows-service-in-C-Sharp/


Introduction
This article is about Windows Service in .Net Frame. We learn how to make and use windows service in our C#.Net Frame applications.    
Steps to create windows service 
1. 
Open new windows project in Visual Studio.

NewWindowsService.JPG

2. Right click on windows service screen and select add installer

AddInstaller.JPG
Two installers added and displays on windows service design view.
Installers.JPG

3. Go to service installer property and sets the following properties

  1. Description
  2. Display Name
  3. Service Name
  4. Start Type   
ServiceInstallerProperty.JPG

4. Go to service process installer property and sets the account property to 'Local System' 

ServiceProcessInstallerProperty.JPG 

5. Now drag a tool of evenLog1 from tool box into service designer and write the following code:  

 public Service1()
{
   InitializeComponent();
 if (!System.Diagnostics.EventLog.SourceExists("MySource"))
    System.Diagnostics.EventLog.CreateEventSource("MySource", "MyNewLog");
    this.eventLog1.Source = "MySource";
    this.eventLog1.Log = "MyNewLog";
}

On Start function 

 protected override void OnStart(string[] args)
{
  this.eventLog1.WriteEntry("Windows service start at: " +    
   DateTime.Now.TimeOfDay);
}

On Stop function

 protected override void OnStop()
{
   this.eventLog1.WriteEntry("Windows service stop at: " +    
   DateTime.Now.TimeOfDay);
}

6. Add setup project to install our service on system.

AddSetupProject.JPG


AddSetupProject.JPG


7. Add project output into setup project. Right click on setup project and select add-> project output.

SelectCustomAction.JPG


8. Right click on setup project and select view->custom action. 

SelectCustomAction.JPG


9. Right click on custom action that opens in new window and add custom action. 

AddCustomAction.JPG


10. Select application Folder and add primary output from windows service and then click ok.

12.JPG


Project output added successfully.

13.JPG


11. Rebuild these two projects (windows service & setup) and now right click on setup, select install option. Windows service is installed on your system successfully.
15.JPG
First time you have to start the service manually or you may restart your system      
System Services Screen

16.JPG
You can check whether your service is working or not, just view system event viewer from control panel(administrative tools).
17.JPG
On start even log
18.JPG
On stop event log
19.JPG

Comments

Popular posts from this blog

Tip/Trick: Fix Common SEO Problems Using the URL Rewrite Extension

Search engine optimization (SEO) is important for any publically facing web-site.  A large % of traffic to sites now comes directly from search engines, and improving your site’s search relevancy will lead to more users visiting your site from search engine queries.  This can directly or indirectly increase the money you make through your site. This blog post covers how you can use the free Microsoft  URL Rewrite Extension  to fix a bunch of common SEO problems that your site might have.  It takes less than 15 minutes (and no code changes) to apply 4 simple  URL Rewrite  rules to your site, and in doing so cause search engines to drive more visitors and traffic to your site.  The techniques below work equally well with both ASP.NET Web Forms and ASP.NET MVC based sites.  They also works with all versions of ASP.NET (and even work with non-ASP.NET content). [In addition to blogging, I am also now using Twitter for quick updates and to sh...

ASP.NET MVC - Set custom IIdentity or IPrincipal

Here's how I do it. I decided to use IPrincipal instead of IIdentity because it means I don't have to implement both IIdentity and IPrincipal. Create the interface interface ICustomPrincipal : IPrincipal { int UserId { get ; set ; } string FirstName { get ; set ; } string LastName { get ; set ; } } CustomPrincipal public class CustomPrincipal : ICustomPrincipal { public IIdentity Identity { get ; private set ; } public bool IsInRole ( string role ) { return false ; } public CustomPrincipal ( string email ) { this . Identity = new GenericIdentity ( email ); } public int UserId { get ; set ; } public string FirstName { get ; set ; } public string LastName { get ; set ; } } CustomPrincipalSerializeModel - for serializing custom information into userdata field in FormsAuthenticationTicket object. public class CustomPrincipalSerializeMode...

linq orderby multiple columns dynamically

So, it's been a while, but I thought I take moment and do my annual blog post ;). I've been playing around with  ASP.NET MVC  and the Linq stuff for  NHibernate  recently. I was in need of an OrderBy extension method that could take a SQL-Like OrderBy string and sort a IQueryable<> or IEnumerable<> collection. I wrote up an implementation that worked, but I just wasn't satisfied with its internals (quite a bit of reflection to get the correct type to construct a LambdaExpression, etc) At any rate, I couldn't leave well enough alone, and, after a bit of Googling, I ran across this  StackOverflow  answer about Dynamic LINQ OrderBy . The extension method wasn't exactly what I was looking for, but that ApplyOrder method is slick, and solved the portion of my implementation that was bothering me. So, I though I would post up my version in case anybody finds it useful. It handles the following inputs: list.OrderBy( "SomeProperty" ); list.Ord...