This is the secondary Assembly that provides the core fundamental capabilities of Beef. The key classes and/or underlying NameSpaces are desribed.
This provides classes used specifically by the primary domain business logic (see Solution Structure
).
This provides for basic in-memory Caching capabilities (see CacheCoreBase
), and corresponding Policy to flush and/or refresh as required (managed by CachePolicyManager
).
The advantages of using memory caching is clearly performance; although, caution is required where the volume of data being cached is significant. Equally, where data must be expired at the same time across caches in the likes of a server farm. Alternates to consider are the likes of Redis.
Provides the basic infrastructure support to support a basic event-driven architecture, through EventPublisherBase
and EventData
.
Providea the TimerHostedServiceBase
to standardise the processing of long-running, batch-style, timer-based operations.
Additional capabilities to process JSON, such as JsonEntityMerge
and JsonPropertyFilter
.
Provides the base mapping type converters, and core capabilites for the database mapping. Otherwise, Beef recommends using AutoMapper
(https://automapper.org/), and the provided type converters are AutoMapper compatible.
Additional HTTP
capabilities, specifically HttpMultiPartRequestReader
and HttpMultiPartResponseReader
.
Provides the underlying caching for the reference data. This capability is further described here.
Provides the key capabilities to enable the rich validation functionality central to Beef. This capability is further described here.
Provides the HTTP REST Agent capabilities to standardize the invocation of APIs as an optional data source. The HttpAgentBase
is essential to enable.