Understanding windows service fundamentals
Overview :
Why develop windows services ?
1. Run even when no user is logged in
2. Start automatically on machine boot
3. Run as different users(inc. built in)
4. Start,stop,pause, resume services
5. Failure Policy (eg . auto start )
6. Manage from remote machines (eg stop)
Typical usecase of windows services :
1. File conversion (e.g. video / audio )
2. System intergration(file-ingenstion)
3. System integration (data transfer between systems)
4. Run web server (e.g owin self hosting)
5. Message queue processing (eg. MSMq)
6. Host remote Akka .Net Actor System
7. Host other services eg. Mail , Ftp etc.
SERVICE STARTUP MODES
1. Manual 2. Automatic 3. Automatic(Delayed Start ) 4. Disabled 5. Triggers
SERVICE LOG ON ACCOUNTS
1. Local system built in account
2. Local Service Account
3. Network Service Account
4. Local User custom Account
5. Domain User custom Account
SERVICE RECOVERY OPTIONS
1. Restart the service (after n minutes )
2. Take no action
3. Run a program
4. Restart the computer (after n minutes)
MULTILE RECOVERY OPTIONS
1. First failure 2 . Second failure 3. Subsequent failures
4. Reset failure after n days
SERVICE CONTROL MANAGER
Functions : 1. Maintaining database of all installed services . 2.
Processing commands to start, stop, pause the installed services. 3. Query
installed services and reporting service state
Service control app will send the
service control command to the service control manager, which inturn does the
operation.
- use "sc help" to explore the service controlling options
TOPSHELF
1. Open source .NET Windows Service library
2. Makes it easier to create Windows Services
3. Developers can focus on service functionality not plumbing code
DEVELOPING WINDOWS SERVICE FROM SCRATCH
1. Create a Class which has the service logic. This class should have a
method which describes operation when service starts and another method which
has the logic to be performed when the service ends.
Comments
Post a Comment