Skip to main content

Introduction To Windows Services

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

Popular posts from this blog

Event Sourcing with CQRS.

  The way event sourcing works with CQRS is to have  part of the application that models updates as writes to an event log or Kafka topic . This is paired with an event handler that subscribes to the Kafka topic, transforms the event (as required) and writes the materialized view to a read store.

GraphQL microservices (GQLMS)

I'm curios of GraphQL !     -  GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. It should be solving a problem in querying data !     -GraphQL lets you ask for what you want in a single query, saving bandwidth and reducing waterfall requests. It also enables clients to request their own unique data specifications. A case study ?!    -https://netflixtechblog.com/beyond-rest-1b76f7c20ef6 So, This is just another database technoloy ?  -  No. GraphQL is often confused with being a database technology. This is a misconception, GraphQL is a   query language   for APIs - not databases. In that sense it’s database agnostic and can be used with any kind of database or even no database at all. Source:   howtographql.com