Namespace NFX.ServiceModel
Classes
ApplicationDontAutoStartServiceAttribute
Designates service-derivative classes that should NOT be auto-started by the app container
CompositeServiceHost
Represents a service that contains other child services. Start/Stop commands translate into child sub-commands. This class is used to host other services in various job/background process hosts
Service
Represents a lightweight service that can be controlled by Start/SignalStop-like commands. This class serves a a base for various implementations (i.e. LogService) including their composites. This class is thread-safe
Service<TDirector>
Represents service with typed ComponentDirector property
ServiceWithInstrumentationBase<TDirector>
Provides base implementation for Service with IInstrumentable logic
SvcHostException
Thrown by CompositeServiceHost
WorkItemAggregatorService<TContext>
Aggregates same/equal (as defined by item's IAggregatableWorkItem.AggregationKey) work items posted into queue to limit the penetration of duplicate work items in destination queue
WorkQueue<TContext>
Maintains a queue of pending work - every WorkItem posting in the queue will be executed by the host of the queue. WorkQueues are useful for coordination of complex data/event flows in multi-threaded/service applications
Structs
ChildService
Child service entry as managed by CompositeServiceHost class
Interfaces
IAggregatableWorkItem
Represents an item that may be posted into WorkItemAggregatorService queue
IService
Defines abstraction for an entity that is controlled by Start/Stop commands and has a status
IWorkItem<TContext>
Defines a base for items executable by WorkQueue
IWorkQueue<TContext>
Defines contract for work queue that work items can be posted to
Enums
ControlStatus
Stipulates control phase statuses like: Active/Inactive etc...
WorkItemAggregationIntervalKind
Defines how intervals should be handled. Sliding means that every time message is posted into in queue interval starts to count from scratch, periodic counts from the first message post
Delegates
PostItemFilter<TContext>
A filter delegate that gets called within PostItem before adding work to this queue. This is useful for re-routing work to some other queue/s when needed. Return null if work item is going to be processed by some other queue that this delegate should post into. Keep in mind that this delegate is invoked by posters thread