This is a collection of various utilities and abstractions I use in .NET projects.
- Store and query activities.
- Data.LinqToDB Audit provider.
- Data.LinqToDB Audit provider optimized for Postgres.
- Exension methods to convert byte arrays to hex strings and back.
- BCD encoder/decoder.
- Generic circular buffer.
- Credential store abstractions and in-memory implementation.
- SQLite credential store implementation with AES encryption.
- HashiCorp Vault credential store implementation.
- Database abstractions.
- LinqToDB zcfux.Data provider.
- Npgsql zcfux.Data provider.
- Dependency injection wrapper.
- Exensions methods to build abstract syntax trees for querying data.
- Abstract syntax trees can be converted to LINQ expressions.
- Run and schedule (periodic) tasks.
- Customizable job queue (library comes with an in-memory queue).
- JobRunner database abstractions.
- Persistent job queue using LinqToDB.
- Key-value store abstractions and in-memory implementation.
- A persistent key-value store implementation for storing large blobs.
- Small blobs are stored in a SQLite database.
- Large blobs are stored as files.
- Blobs are addressable by their content to ensure integrity and save disk space.
- Logging abstractions.
- NLog for zcfux.Logging provider.
- Mail storage & transfer abstractions.
- Data.LinqToDB Mail provider for Postgres.
- SMTP transfer agent using MailKit.
- Generic and customizable resource pool.
- Publish & subsribe building block.
- Replication abstractions.
- CouchDB zcfux.Replication provider.
- Password generator.
- Message signing.
- Rate limiting.
- Session management with customizable storage.
- Tiny object mapper for ADO.NET.
- Telemetry abstractions.
- MQTT zcfux.Telemetry provider.
- Track state changes to objects.
- Translation abstractions.
- Data.LinqToDB Translation provider.
- User, group & permission management.
- Data.LinqToDB User provider.