Namespace NFX.ApplicationModel
Classes
ApplicationComponent
An abstraction of a disposable application component - major implementation/functionality part of an app. Components logically subdivide application container so their instances may be discovered by other parties, for example: one may iterate over all components in an application that support instrumentation and logging. Services are sub-types of components. Use "ApplicationComponent.AllComponents" to access all components in the container
BaseSession
Implements base ISession functionality
CommonApplicationLogic
Provides base implementation of IApplication for various application kinds
ExecutionContext
Provides access to execution context - that groups Application, Request, Response and Session objects. All objects may be either application-global or thread-level. Effectively ExecutionContext.Application is the central DI/servi e locator facility per process. The async code should flow the context by passing it to functors.
HubModule
Defines a module that does nothing else but provides a hub/namespace grouping for child modules that it contains. This module is a kin to NOPModule - the difference is only in the intent. NOPModule signifies the absence of any modules, whereas HubModule holds child modules
ModuleBase
Provides base for implementation of IModule
NOPApplication
Represents an application that consists of pure-nop providers, consequently this application does not log, does not store data and does not do anything else still satisfying its contract
NOPModule
Defines a module that does nothing
NOPSession
Represents a session that does nothing and returns fake user
ServiceBaseApplication
Provides base implementation of IApplication for applications that have no forms like services and console apps. This class IS thread safe
TestApplication
Application designated for use in various unit test cases. This class is not intended for use in non-test systems
Interfaces
IApplication
Describes general application model - usually a root service locator with dependency injection container that governs application initialization, state management, logging etc. An applications is usually implemented with a singleton class that has static conduits to instance properties via App shortcut. Application instances may get passed by reference to simplify mocking
IApplicationComponent
Provides marker contract requirement for an ApplicationComponent. This interface must be implemented only by ApplicationComponent class
IApplicationFinishNotifiable
Represents an entity that can get notified about application finish
IApplicationStarter
Represents an entity that performs work on application start. This entity must be either invoked directly or declared in config file under "starters" section
IModule
Describes application modules - entities that contain business domain logic of the application or general system logic (e.g. financial logic, complex image rendering service, social network mix-in etc.)
IModuleImplementation
Describes module implementation
ISession
Describes user session
Enums
SessionLoginType
Denotes types of session login