[This is preliminary documentation and is subject to change.]
Represents "(W)eb(A)pp(V)iew(E)nhanced" web server which provides DYNAMIC web site services.
This server is not meant to be exposed directly to the public Internet, rather it should be used as an application server
behind the reverse proxy, such as NGINX. This server is designed to serve dynamic data-driven requests/APIs and not meant to be used
for serving static content files (although it can).
The implementation is based on a lightweight HttpListener that processes incoming Http requests via an injectable WorkDispatcher
which governs the threading and WorkContext lifecycle.
The server processing pipeline is purposely designed to be synchronous-blocking (thread per call) which does not mean that the
server is inefficient, to the contrary - this server design is specifically targeting short-called methods relying on a classical thread call stack.
This approach obviates the need to create surrogate message loops/synchro contexts, tasks and other objects that introduce extra GC load.
The server easily support "dangling"(left open indefinitely) WorkContext instances that can stream events (i.e. SSE/Server Push) and WebSockets from
specially-purposed asynchronous notification threads.
Inheritance Hierarchy

NFX DisposableObject
NFX.ApplicationModel ApplicationComponent
NFX.ServiceModel Service
NFX.ServiceModel Service

NFX.ServiceModel ServiceWithInstrumentationBase

NFX.Wave WaveServer
Namespace: NFX.Wave
Assembly: NFX.Wave (in NFX.Wave.dll) Version: 3.0.0.1 (3.0.0.1)
Syntax
Remarks
See Also