SystemLibrary.Common.Framework
Classes
Assemblies
Static functions on whitelisted loaded assemblies
Async
Run methods asynchronously without blocking.
Clock
A Clock to measure an actions execution time based on Stopwatch
Config<T>
Loads and reads configuration files (.xml, .json, or .config), applies transformations, and decrypts encrypted properties.
Configs can be placed in:
~/*.json, ~/*.xml, ~/Configs/**, ~/Configurations/**, or appended to appsettings.json.
Transformations use the ASPNETCORE_ENVIRONMENT variable.
Set ASPNETCORE_ENVIRONMENT in:
- launchSettings.json (IIS Express/Kestrel)
- web.config (IIS/IIS Express)
- mstest.runsettings (unit tests)
- command-line --configuration (executables)
DateJsonConverter
Use to convert a DateTime into a string date 'yyyy-MM-dd', ignoring time
DateTimeJsonConverter
Use to convert a string to DateTime during Json() invocation with your own format
DateTimeOffsetJsonConverter
DateTime json converter that takes a string format
EnumTextAttribute
Decorate the enum key with text.
EnumValueAttribute
Decorate the enum key with a value.
EnvironmentConfig
Standard class for environmental configurations read from environmentConfig.json if exists
If you've added more properties to environmentConfig.json than just the 'Name' you'd have to inherit 'EnvironmentConfig<YourClass>' and use that instead
EnvironmentConfig<T, TEnvironmentNameEnum>
EnvironmentConfig with an option to pass your own Configuration class, along with an enum that defines all environment names.
FrameworkOptions
Framework service and middelware options
HttpContextInstance
An implementation of the 'old' thread safe singleton HttpContext we all know and love from .NET Framework
Metric
Metric class count metrics in memory and exposing it to Prometheus or the /metrics/ui endpoint if you are on Gold Tier license
MetricChartOption
Create a metric option and pass it into the Metric.Init method to control how the pie chart of a metric is rendered
Note: A pie chart's key is made up of label + category + status, so if you specify the exact same label, category and status, it overrides the existing one
MetricCharts
Static class to adjust each pie chart generated on the /metrics/ui endpoint
Randomness
Shortcut for generating random values using System.Random
SliceOption
SystemType
A static class containing common typeof calls to optimize performance, as typeof can be slow. Use these predefined types whenever possible.
Interfaces
ILogWriter
ILogWriter is responsible for storing log messages
- Create a new class that implements ILogWriter
- Register your class as singleton implementation of the ILogWriterEnums
EnvironmentName
Enum list of common built-in environment names allowed
Config tranformations and EnvironmentName will work with other env-names, but the IsLocal, IsTest, and IsProd will not