A service is an application that runs in the background
without user interface and start even before user login.
Differences:
- One
can’t simply run with F5. Install service and attach debugger to it.
- One
must create the installer for the service to install and configure.
- Popup
and dialogs are not allowed so log events in Log.
-
Carefully plan about the account and permission for the service.
Creating a Service:
Create a
windows service project.
Override
OnStart,
OnStop,
and OnPause
and other methods.
Add
necessary Installers.
Build
and install.
To Implement the Service:
- Modify
the ServiceBase.ServiceName to unique service
name.
- Add OnStart. Code must return immediately
- Add code
for OnStop
- Add Code
for OnPause, OnContinue,
and OnShutDown (All Optionall)
Creating project for service:
A service can’t be directly run. .Net Framework provides ServiceInstaller
and ServiceProcessinstaller
classes.
ServiceInstaller defines the Name, ServiceName, Description, and Start type.
Use ServiceProcessInstaller to define the
service account settings.
1. R.Click on
designer →
Add Installer
2. Set the
start type → Automatic,
Manual, Disabled
3. Set
Description and DisplayName
4. Specify
Security Context
a. Local
Service (Limited)
b. Network
Service (Web Server etc.)
c. Local
System (Unlimited)
d. User
(Define login and password or will be prompted on start).
5. Click
Project in Solution Explorer. Select Service Project as Startup Project.
6. Build then
install using MSI package.
To build a setup project:
1. Add Setup
project to current solution
2. R.Click
Setup project in Solution Explorer. Click Add. Click project output.
Select Service project as primary output
Select Service project as primary output
3. Add Custom
Actions to Install Service
a. R.Clcik
Setup project.
b. View
| Custom Actions
c. In
Editor, R.Click Custom Action and Click Add Custom Action.
4. In Select
Item in project Dialog.
a. Select
the application folder
b. Select
the primary output from you service project name
c. Click
OK.
5. R.Click
Setup project and select Build.
Managing Services:
Services can be managed from Computer management.
Service can be also managed from command line.
C:\ Net Start <ServiceName>
C:\ Net Stop <ServiceName>
To Control Services from code use ServiceController
class. System.Services.Proecess.ServiceController.
e.g.:
ServiceController sc = new
ServiceController (“MyService”);
Sc.Stop();
Sc.Start();
Sc.Pause();
Sc.Continue();
Comments