MarkCiliaVincenti
NuGet publisher profile
Packages (11)
AsyncKeyedLock
An asynchronous .NET library that allows you to lock based on a key (keyed semaphores), limiting concurrent threads sharing the same key to a specified number, with optional pooling for reducing memory allocations.
Backport.System.Threading.Lock
A micro-library that backports/polyfills .NET 9.0+'s System.Threading.Lock to prior framework versions (from .NET Framework 3.5 up to .NET 8.0), providing as much backward compatibility as possible. Optionally works as a source generator.
OpenWeatherMap.Cache
An asynchronous .NET library that allows you to fetch & cache current weather readings from the OpenWeather API, with built-in resiliency that can extend the cache lifetime in case the API is unreachable.
DeterministicGuids
A small, allocation-conscious, thread-safe .NET utility for generating name-based deterministic UUIDs (a.k.a. GUIDs) using RFC 9562 v3 (MD5), v5 (SHA-1) and v8 (SHA-256).
TlsCertificateLoader
A .NET library for loading of TLS/SSL (HTTPS) certificates for .NET 6.0+ Kestrel web applications, allowing for refreshing of certificates as well as compatibility with HTTP/3. Includes optional middleware for using certificates obtained by Certbot.
ThreadSafeRandomizer
An efficient thread-safe randomizer that can optionally be used as a source generator.
ListShuffle
Thread-safe list shuffle extension library, using Fisher-Yates shuffle and optional cryptographically-strong random.
NetworkPorts
Constants for commonly-used network ports.
ResilientSaveChanges.EFCore
A library that allows resilient context.SaveChanges / SaveChangesAsync in Entity Framework Core, logging of long-running transactions and limiting of concurrent SaveChanges.
SemaphoreSlimThrottling
A .NET library that provides a class that uses SemaphoreSlim but allows a negative initialCount. This could be used, for example, when starting to throttle requests but initially already have more concurrent requests than the maximum you want to start allowing.
ReadHeavyCollections
A dictionary and a set that offer very fast read speed in expense of slow write speed. Ideal in situations where the collection is infrequently updated but is very often read from.